考虑为按位运算设计的FileAttributes
枚举。我创建了一个系统,用户可以在其中选择一些复选框来确定文件的状态。文件可以是ReadOnly
和System
。因此,该值将为5(ReadOnly
为1,{4}为4 {。}}。
如何验证整数是否为有效的System
枚举?
我已经看到了这些问题,但是他们没有帮助我,因为他们不适用于bitwised(标记,组合)值。
Check that integer type belongs to enum member
Is there a way to check if int is legal enum in C#?
答案 0 :(得分:5)
答案 1 :(得分:2)
这会奏效。基本上,如果枚举组合无效,ToString()将只返回数字。
private bool CombinationValidForFileAttributes(int value)
{
return ((FileAttributes)value).ToString() != value.ToString();
}