enum E { A, B = A, C, D } class Stuff { static void Foo(E e) { switch(e) { // Generate switch labels } } }
Result:
class Stuff { static void Foo(E e) { switch(e) { case E.A: break; case E.B: // Duplicate case label break; case E.C: break; case E.D: break; default: throw new ArgumentOutOfRangeException("e"); } } }