2010-05-21 1 views
0

Мне нужно протестировать логическое выражение, содержащееся в строке, чтобы увидеть, оценивает ли он TRUE или FALSE. (Строка динамически построена)
Например, результирующая строка может содержать «собаку», < 'cat' OR (1> 4 AND 4 < 6) ". В строке нет переменных, они будут логически оцениваться. Он будет содержать только простые операторы => <> <> = < = и AND, OR и Open и Close Brackets, строковые константы и цифры. (преобразованный в правильный синтаксис & & и т. д.)Оценщик логического выражения VB.NET

В настоящее время я получаю это благодаря созданию функции jscipt и ее компиляции в DLL. Затем я ссылаюсь на .dll в своем проекте VB.NET.

class ExpressionEvaluator 
{ 
    function Evaluate(Expression : String) 
    { 
    return eval(Expression); 
    } 
} 

Есть ли более простой метод с использованием встроенных функций .NET или выражений Lamdba.

ответ

0

попробовать: http://www.codeproject.com/KB/cs/ExpressionEval.aspx

Дополнительные рекомендации: http://www.thefreakparade.com/2008/07/evaluating-expressions-at-runtime-in-net-c/

Хорошо один: http://flee.codeplex.com/ Boolean Пример, который вы ищете: http://flee.codeplex.com/wikipage?title=BooleanExpression&referringTitle=Examples (игнорировать переменную, добавив часть, как вы не смотрите для переменной)

 Смежные вопросы

  • Нет связанных вопросов^_^