Механизм правил Microsoft выдает исключение, если во входных данных отсутствует указанное свойство.C#

Место общения программистов C#
Anonymous
Механизм правил Microsoft выдает исключение, если во входных данных отсутствует указанное свойство.

Сообщение Anonymous »

Я использую механизмы правил Microsoft. Проблема возникает, когда выражение ссылается на свойство, которого нет во входном объекте, в результате чего RuleExpressionParser генерирует исключение.

Код: Выделить всё

private bool Evaluate(string expression, ExpandoObject input)
{
var ruleSettings = new ReSettings()
{
EnableExceptionAsErrorMessage = false,
IgnoreException = false,
IsExpressionCaseSensitive = false
};
var parser = new RuleExpressionParser(ruleSettings);

return parser.Evaluate(expression, new RuleParameter[]
{
new RuleParameter("evalContext",input)
});
}

var expression = "addressaddressee1_confidence > 0.75";
var input = new ExpandoObject();

var result = Evaluate(expression, input);
Есть ли способ заставить синтаксический анализатор вернуть false, если свойство не существует во входном объекте?

Подробнее здесь: https://stackoverflow.com/questions/785 ... cified-pro

Вернуться в «C#»