C#禁止重复枚举值

C#禁止重复枚举值,c#,vb.net,enums,C#,Vb.net,Enums,有没有办法禁止在C#或VB.NET中重复枚举值,从而使编译器无法运行 诸如此类的事: [NoDuplicateEnumValues] enum Importance { None = 0, Trivial = 2, Regular = 3, Important = 3, //<-- compiler error Critical = 4 }; [NodeUpplicateEnumValues] 枚举重要性 { 无=0, 琐碎

有没有办法禁止在C#或VB.NET中重复枚举值,从而使编译器无法运行

诸如此类的事:

[NoDuplicateEnumValues]
enum Importance
{
    None      = 0,
    Trivial   = 2,
    Regular   = 3,
    Important = 3,   //<-- compiler error
    Critical  = 4
};
[NodeUpplicateEnumValues]
枚举重要性
{
无=0,
琐碎=2,
常规=3,

重要提示=3,//否,没有办法做到。

否(但这是不可接受的答案,因为它太短)。你需要一个测试套件!不存在这样的编译时错误。你可以创建一个单元测试来检查你的所有枚举。这不是一个错误,那么你为什么要阻止它呢?如果是因为一个错误,那么,程序员可能会犯数百万个错误,我们称之为bug。知道为什么一个正确答案被否决会很有趣……真的吗没什么好说的(连乔恩·斯基特的基本上都是一样的)。