未用[Flags]属性标记的枚举的按位运算

时间:2018-12-14 18:51:59

标签: c# enums warnings bitwise-operators

我正在将变量与许多枚举值进行比较,但是 IntelliSense 给我以下警告:

*Bitwise operation on enum which is not marked by [Flags] attribute.*

if (val == MyEnum.Value1 | MyEnum.Value2 | MyEnum.Value3){
   //code
}

我的枚举看起来像这样:

public enum MyEnum
{
    [Description("Value1")]
    Value1 = 0,
    [Description("Value2")]
    Value2 = 1,
    [Description("Value3")]
    Value3 = 2,
}

这是什么,我该怎么办?安全吗?我要避免的是不得不编写if多值比较块的长版本。

0 个答案:

没有答案