在另一种方法中从事件的订阅者方法访问变量?

时间:2012-10-06 16:36:19

标签: c# variables event-handling

如何从同一类中的另一个方法访问以下订阅者方法中的变量line

private void portdatareceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
   string line = port.ReadExisting();
}

2 个答案:

答案 0 :(得分:2)

您可以从事件中调用方法并将行传递给它,如果触发事件,它将在行上启动该过程。

private void portdatareceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
   string line = port.ReadExisting();

   SomeMethod(line);
}

其他可能的方法是在类范围内声明行并使用计时器控件来汇集其值,以便在事件触发时执行适当的操作,但也可能需要一些锁定。

答案 1 :(得分:1)

让它成为课堂上的一个领域。您无法在方法中访问局部变量。

毕竟,类是数据容器,方法对数据起作用。局部变量只是这方面的帮手。如果在课堂上需要它们作为状态,那么将它们作为一个字段。