0

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

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

2 回答 2

2

您可以从事件中调用一个方法并将线路传递给它,当事件触发时,如果需要,它将在线路上启动进程。

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

   SomeMethod(line);
}

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

于 2012-10-06T16:38:22.537 回答
1

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

毕竟,类是数据容器,而方法则作用于该数据。局部变量只是为此目的的帮手。如果需要它们作为类中的状态,则将它们设为字段。

于 2012-10-06T16:37:50.243 回答