我正在寻找一种将不同选项作为参数传递给方法的方法。假设用户可以选择 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...);
想法?