我必须从另一个类中的事件访问数据。 在该类事情是这样的:从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
请详细说明“不工作” - 任何编译器错误,任何运行时错误,意外的行为? –