如果我有一个可以同时存在多个值的枚举,我会创建一个 Flags 枚举:
[Flags]
public enum Foo
{
None = 0,
A = 1,
B = 2,
C = 4,
D = 8
}
如果我现在想通过设置每个值的事实,我将不得不做这样的事情:
Bar bar = new Bar(Foo.A | Foo.B | Foo.C | Foo.D);
添加一个额外的元素All会被认为是不好的做法/有害/亵渎吗?
All = 15
当有很多值并且将它们全部传递是一种常见情况时,这将节省一些空间和时间。
据我了解标志枚举(=位域)的机制,这应该有效。是否有我遗漏的任何副作用或其他原因您不应该这样做?