簡體   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