メソッドにオプションを渡すために列挙型または整数を書くのが好きです。(int 1,2,4,8、...)オプションがtrueまたはfalseかどうかを確認するためのパターンまたはメソッドがC#にありますか。二変数関数で簡単にできるはずだと思います。
class Program
{
public enum Option
{
Option_A = 1,
Option_B = 2,
Option_C = 4,
Option_D = 8,
}
static void Main(string[] args)
{
int activeOption = 5; // Means I activeted the Option_A and Option_C
if (IsOption(activeOption, Option.Option_A)) { /*do work*/ }
if (IsOption(activeOption, Option.Option_B)) { /*do work*/ }
if (IsOption(activeOption, Option.Option_C)) { /*do work*/ }
if (IsOption(activeOption, Option.Option_D)) { /*do work*/ }
}
private static bool IsOption(int activeOption, Option option)
{
/*Evaluate if IsOption is true or false*/
throw new NotImplementedException();
}
}
編集
このように作成できるオプションの数は制限されていますか?