Выражение C # с использованием выражений And Or и Not вместе на основе AST

Я хочу использовать выражение Linq для некоторых динамических функций. Мне нужны выражения И, Или, и Не .. Я не могмного получается ..

Мы хотим проверить, была ли включена определенная функция в нашей системе, и на основании этого мы решим, показывать пункт меню или нет. мы сформировали правила в формате XML, я знаю, чтобы преобразовать правило в AST, но я неНе знаю, чтобы сопоставить с выражением Linq.

Правила таковы: Feature1Enabled и Feature2Eenabled или (Feature3Disabled, а не Feature5Enabled)

Вот "Feature1Enabled ","Feature2Eenabled» и т. д. это название функции. Мы передадим эту строку в функцию IsFeatureEnabled, чтобы проверить, была ли функция включена или нет.

  public delegate bool IsEnabledDelegate(string name, string value);

    public static bool IsFeatureEnabled(string name, string value)
    {
        if (name == "MV")
            return true;

        if (name == "GAS" && value == "G")
            return true;
        //More conditions goes here
        return false;
    }

    static void Main(string[] args)
    {
        Expression featureEnabledExpTree = 
                      (name, value) => IsFeatureEnabled(name, value);

        //I want the equal of the following statement in C# Linq Expression

       bool result = IsFeatureEnabled("MV", "") && IsFeatureEnabled("GAS", "G") || !IsFEatureEnabled("GAS", "F")

    }

Я хочу эквивалентный результат bool = IsFeatureEnabled ("MV "," ") && IsFeatureEnabled (»ГАЗ "," Г ") || ! IsFEatureEnabled (»ГАЗ "," Ф ")

в формате выражения Linq .. Однако я могу преобразовать их в динамически на основе моих обозначений AST ..

Большое спасибо .. Если вам нужно больше информации, сообщите мне в комментариях ..

Ответы на вопрос(2)

Ваш ответ на вопрос