定义枚举标志不可组合

时间:2018-08-01 10:32:23

标签: c# enums flags

有没有一种方法来定义一个具有不可组合属性的枚举(作为标志)?

我想做什么:

[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不可组合?

0 个答案:

没有答案