我的程序正在串行端口上接收数据,在接收到数据后,它可以用八种不同的方式之一进行解释。
如果我想在收到数据后触发一个事件,我应该使用一个事件并在我的自定义事件 arg 类中使用类似枚举的东西,还是应该创建 8 个单独的事件?基本上我想知道创建事件的约定是什么。
我的假设是,当新事件与当前事件有区别时,应该创建一个新事件,但我不确定我的示例应该采用哪种方式。
编辑:为了澄清情况,程序主要通过串口与设备通信,接收输入的方法如下:
我应该这样做吗?
void receive(byte[] somebytes)
{
// After checking to make sure all bytes expected are received
switch(somecase)
{
case 0: TriggerEvent(SomeEventArgs);break;
case 1: TriggerEvent(SomeEventArgs);break;
case 2: TriggerEvent(SomeEventArgs);break;
case 3: TriggerEvent(SomeEventArgs);break;
case 4: TriggerEvent(SomeEventArgs);break;
case 5: TriggerEvent(SomeEventArgs);break;
case 6: TriggerEvent(SomeEventArgs);break;
case 7: TriggerEvent(SomeEventArgs);break;
case 8: TriggerEvent(SomeEventArgs);break;
}
}
或这个:
void receive(byte[] somebytes)
{
// After checking to make sure all bytes expected are received
switch(somecase)
{
case 0: Event0(LessEventArgs);break;
case 1: Event1(LessEventArgs);break;
case 2: Event2(LessEventArgs);break;
case 3: Event3(LessEventArgs);break;
case 4: Event4(LessEventArgs);break;
case 5: Event5(LessEventArgs);break;
case 6: Event6(LessEventArgs);break;
case 7: Event7(LessEventArgs);break;
case 8: Event8(LessEventArgs);break;
}
}