繁体   English   中英

C#在serialport_datareceived事件内运行方法

[英]C# Run a method inside serialport_datareceived Event

我想在serialport_DataReceived事件内运行一个方法。

public void Draw(byte[] data);

private void myPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
       this.Invoke(new EventHandler(DrawingAudioData(data)));
}

这是行不通的。 它给出一个错误,指出“期望的方法名称”。 我能做什么?

尝试

public delegate void Draw(byte[] data);

private void myPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
    this.Invoke(new Draw(DrawingAudioData), data);
}

在我看来,传递给Invoke的DrawingAudioData没有EventHandler签名。 另外,您应该将Name方法传递给委托构造函数。

DrawingAudioData方法应具有与Draw委托匹配的签名:

public void DrawingAudioData(byte[] data) {

有关事件处理程序的更多信息,请参见此处

有关“委托和调用”方法的更多信息,请参见此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM