有没有一种方法来定义一个具有不可组合属性的枚举(作为标志)?
我想做什么:
[Flags]
enum ErrorCode
{
OK = 1 << 0,
E1 = 1 << 1,
E2 = 1 << 2,
E3 = 1 << 3,
E4 = 1 << 4
}
ErrorCode error = ErrorCode.OK;
if (error1)
error |= ErrorCode.E1;
if (error2)
error |= ErrorCode.E2;
if (error3)
error |= ErrorCode.E3;
因此,如果我没有错误error = ErrorCode.OK
,但是如果我有错误1和3 error = ErrorCode.E1 | ErrorCode.E2
(实际上我有error = ErrorCode.OK | ErrorCode.E1 | ErrorCode.E2
)。
如何定义ErrorCode.OK
不可组合?