Моя программа принимает данные на последовательном порту, после получения данных ее можно интерпретировать одним из восьми способов.Должен ли я использовать несколько событий или более подробный класс eventargs?
Если я хочу инициировать событие после получения данных, должен ли я использовать одно событие и использовать что-то вроде перечисления в моем классе классов пользовательских событий или мне нужно создать 8 отдельных событий? В основном мне интересно, что такое конвенция для создания событий.
Мое предположение заключалось в том, что новое событие должно быть создано, когда оно отличается от текущих событий, но я не уверен, какой способ пойти с моим примером.
Edit: Для того, чтобы прояснить ситуацию, программа в основном будет взаимодействовать с устройством через последовательный порт, метод, который принимает ввод следующим образом:
Должен ли я это сделать?
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;
}
}
Увольнение много событий может быть медленным, я бы просто сделал одно, если это было возможно (с пользовательским «EventArgs», как вы упомянули) – SwDevMan81
@ SwDevMan81 Событие будет выпущено столько же раз, отдельные события или вызвать одно и то же событие с более сложными eventargs. – NominSim