Есть ли в C # шаблон или метод, чтобы проверить, является ли параметр (int 1,2,4,8,…) истинным или ложным

Мне нравится писать enum или integer для передачи параметров моим методам. Есть ли в C # шаблон или метод, чтобы проверить, является ли параметр (int 1,2,4,8, ...) истинным или ложным. Я думаю, что это должно быть легко возможно с помощью бинарных функций.

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();
    }
}

РЕДАКТИРОВАТЬ

Ограничил ли я количество параметров, которые я могу создать таким образом?

5
задан R. Martinho Fernandes 20 May 2011 в 09:59
поделиться