Nếu tôi đang sử dụng câu lệnh chuyển đổi để xử lý các giá trị từ enum (thuộc sở hữu của lớp tôi) và tôi có một trường hợp cho mỗi giá trị có thể - có đáng để thêm mã để xử lý trường hợp "mặc định" không?
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()
}
Tôi không nghĩ rằng đó là vì mã này không bao giờ có thể đạt được (ngay cả với các bài kiểm tra đơn vị). Đồng nghiệp của tôi không đồng ý và nghĩ rằng điều này bảo vệ chúng tôi trước những hành vi bất ngờ gây ra bởi các giá trị mới được thêm vào MyEnum.
Bạn nói gì, cộng đồng?
MyEnum
sau đó chuyển nó qua công tắc của bạn?
switch
hoàn toàn câu lệnh.