我想在serialport_DataReceived事件中运行一个方法。
public void Draw(byte[] data);
private void myPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
this.Invoke(new EventHandler(DrawingAudioData(data)));
}
这不行。它给出了一个错误,说“预期方法名称”。我该怎么办?
答案 0 :(得分:1)
尝试
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) {
有关事件处理程序here的更多信息。
有关委托和调用方法here的更多信息。