私のプログラムはシリアルポートでデータを受信しています。データを受信した後、8つの異なる方法のいずれかで解釈できます。
データの受信後にイベントをトリガーする場合、1つのイベントを使用してカスタムイベント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;
}
}