別のクラスのイベントからデータにアクセスする必要があります。そのクラスのもので はこのようなものです: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);
};
しかし、それは仕事をいないようです。
ありがとうございました。
編集: erroreなしでコンパイルされますが、コンソールに何も表示されません。私はイベントが起きたかどうかをチェックする方法を知らない。
_働いているようではありません。私たちには何の情報も与えません。イベントは解雇されていませんか? 'e'プロパティは空ですか?何か例外がスローされますか? – Pikoh
どのように動作しないのですか?可変パケットはどこに割り当てますか? – MacakM
コンパイルエラー、ランタイムエラー、予期しない動作など、「動作しません」ということを詳しく教えてください。 –