我想知道是否有一种方法可以防止带有重复键的enum
进行编译?
例如下面的这个enum
将编译
public enum EDuplicates
{
Unique,
Duplicate = 0,
Keys = 1,
Compilation = 1
}
虽然这段代码
Console.WriteLine(EDuplicates.Unique);
Console.WriteLine(EDuplicates.Duplicate);
Console.WriteLine(EDuplicates.Keys);
Console.WriteLine(EDuplicates.Compilation);
将打印
Duplicate
Duplicate
Keys
Keys
最佳答案
语言规范没有禁止这样做,因此任何兼容的C#编译器都应允许。您总是可以使Mono编译器禁止使用它-但是坦率地说,编写单元测试来扫描程序集中的枚举并以这种方式执行将更为简单。