2015-02-23 2 views
0

Прежде всего, извините, если мое название не касается моего вопроса. это был долгий день.как оценить условие выражения лямбды (FluentValidation)

В принципе, я хотел знать, могу ли я написать класс, который принимает лямбда-выражение и оценивает его состояние. IE:

(x=>x.property1 == 1) or x=>x.property1 < 1) 

В конечном счете, после того, как выражение передано в мой класс, я хочу иметь возможность оценить выражение.

Я пытаюсь добавить некоторый пользовательский валидатор в FluentValidation. И мой первый вопрос должен был быть в состоянии разобрать лямбда-выражение:

RuleFor(x=>x.Property2).RequiredIF(x=>x.Property1==0) 

ответ

0

Вы можете создать его как метод расширения и использовать внутри комбинации звонков:

return When(expression).NotEmpty() 

Таким образом, вы не должны оценить выражение, метод When сделают это.