(Sınıfıma ait olan) bir numaradan değerleri işlemek için bir switch deyimi kullanıyorsanız ve her olası değer için bir durum var - "varsayılan" durumda işlemek için kod eklemeye değer mi?
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()
}
Ben bu kod (hatta birim testleri ile) ulaşılamaz çünkü olduğunu sanmıyorum. İş arkadaşım buna katılmıyor ve bunun MyEnum'a yeni değerlerin eklenmesinden kaynaklanan beklenmedik davranışlara karşı koruduğunu düşünüyor.
Sen ne diyorsun, topluluk?
MyEnum
ve anahtarınızdan geçirirse ne olur ?
switch
deyimi tamamen ortadan kaldırarak (polimorfizm) çağırmalısınız .