考虑为按位运算设计的FileAttributes
枚举.我创建了一个系统,用户可以在其中选择一些复选框来确定文件的状态.文件可以是ReadOnly和System.因此,该值将为5(对于ReadOnly为1,对于4个System为4).
如何验证整数是否为有效的FileAttributes枚举?
我已经看到了这些问题,但它们并没有帮助我,因为它们不适用于bitwised(标记,组合)值.
Check that integer type belongs to enum member
Is there a way to check if int is legal enum in C#?
解决方法:
>在所有合法值上计算累积按位“或”(可能使用Enum.GetValues)
>计算“testValue& ~allValues”
>如果它不为零,那么通过组合合法标志就不可能形成当前值