同時に存在できる複数の値を持つ列挙型がある場合は、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 = 15
これにより、値が多く、すべてを渡すことが一般的なシナリオである場合に、スペースと時間を節約できます。
フラグ列挙型(=ビットフィールド)の仕組みを理解している限り、これは機能するはずです。私が見逃している副作用や、それをすべきでない他の理由はありますか?