我必須從另一個類中的事件訪問數據。 在該類事情是這樣的:從c#事件中檢索數據
namespace MavLink
{
public class Mavlink
{
...
public event PacketReceivedEventHandler PacketReceived;
...
private void ProcessPacketBytes(byte[] packetBytes, byte rxPacketSequence)
{
...
if (PacketReceived != null)
{
PacketReceived(this, packet);
}
...
}
}
public delegate void PacketReceivedEventHandler(object sender, MavlinkPacket e);
}
,並在主我試着這樣做:
...
m.ParseBytes(newlyReceived);
m.PacketReceived += (sender, e) => {
Console.WriteLine(e.SystemId);
Console.WriteLine(e.ComponentId);
Console.WriteLine(e.SequenceNumber);
Console.WriteLine(e.TimeStamp);
Console.WriteLine(e.Message);
};
但它似乎沒有工作。
謝謝你的幫助。
編輯: 它編譯沒有錯誤,但沒有打印在控制檯上。我不知道如何檢查事件是否已經升高。
_doesn't似乎work_不會給我們任何信息。該事件是否被解僱? 'e'屬性是否爲空?它會拋出任何異常嗎? – Pikoh
它如何不起作用?你在哪裏分配可變數據包? – MacakM
請詳細說明「不工作」 - 任何編譯器錯誤,任何運行時錯誤,意外的行爲? –