我有一個相當大的標誌枚舉叫AmendmentType
。我需要檢查一下,看看是否有特定的枚舉和其他。如果枚舉有特定的標誌,檢查它是否有其他人
例如:
var foo = AmendmentType.Item1;
if (foo.HasFlag(AmendmentType.Item1) && (ANYTHING ELSE))
{
//DO NOT ALLOW
}
else if (foo.HasFlag(AmendmentType.Item2) && foo.HasFlag(AmendmentType.Item6))
{
//DO NOT ALLOW
}
else
{
//ALLOW
}
這將如何可能呢? Flag Enum中有大約20個不同的項目,看起來應該比檢查所有可能的組合更簡單。
爲什麼不只是'if(foo.HasFlag(1)|| foo.HasFlag(2)..)'等等? – DLeh 2014-11-21 21:20:29
那麼你只是詢問「其他」部分? – 2014-11-21 21:21:41
是的,我會檢查什麼來獲得「其他」? – 2014-11-21 21:22:21