さまざまなオプションをパラメーターとしてメソッドに渡す方法を探しています。ユーザーが 6 つのオプションのいずれかまたはすべて、またはそれらのサブセットを選択できるとします。したがって、彼はすべてのオプション、オプション 1、2、および 4 のみ、オプション 1、3、5、および 6 のみを選択できます...
これを効果的に渡すにはどうすればよいですか?
ビット単位の加算ができるので、列挙型を使用することを考えていましたが、そこから次のパズルのピースが欠けています。
私の方法は次のようになりますか?
public void Foo(byte selectedOptions)
{
// How do I check whether an option has been selected??
if (selectedOptions >= Option.Whatever) DoThis();
}
ですから、私はビット単位の比較に固執していて、これが正しい方法なのだろうか...
私がしたくないことは次のとおりです。
public void Foo(bool option1Selected, bool option2Selected, etc...);
アイデア?