Jeśli używam instrukcji switch do obsługi wartości z wyliczenia (który jest własnością mojej klasy) i mam wielkość liter dla każdej możliwej wartości - czy warto dodać kod do obsługi wielkości „domyślnej”?
enum MyEnum
{
MyFoo,
MyBar,
MyBat
}
MyEnum myEnum = GetMyEnum();
switch (myEnum)
{
case MyFoo:
DoFoo();
break;
case MyBar:
DoBar();
break;
case MyBat:
DoBat();
break;
default:
Log("Unexpected value");
throw new ArgumentException()
}
Nie sądzę, że dzieje się tak, ponieważ tego kodu nigdy nie można osiągnąć (nawet przy testach jednostkowych). Mój współpracownik nie zgadza się i uważa, że to chroni nas przed nieoczekiwanym zachowaniem spowodowanym dodaniem nowych wartości do MyEnum.
Co mówisz, społeczność?
MyEnum
a następnie przekaże ją za pomocą przełącznika?
switch
całkowicie eliminując tę instrukcję.