在 C# 中,建议您将 [Flags] 属性添加到位掩码枚举中,如下所示:
[Flags]
public enum Condiments
{
None = 0,
Ketchup = 1,
Mustard = 2,
Mayo = 4,
Pickle = 8,
AllTheWay = 15
}
我发现我的代码错误地对枚举执行了按位运算,而[Flags]
没有完全不是位掩码的属性(First=1、Second=2、Third=3 等)。这当然在逻辑上是错误的,但编译器完全可以接受。
我想知道是否有任何方法可以利用该[Flags]
属性或其他方法将其转变为编译时错误/警告。我不知道从哪里开始,但它似乎应该是可行的,所以任何帮助将不胜感激。