Я создал лямбда-выражение во время выполнения и хочу оценить его - как мне это сделать? Я просто хочу запустить выражение самостоятельно, а не для какой-либо коллекции или других значений.
На этом этапе, после его создания, я вижу, что он имеет тип Expression<Func<bool>>
со значением {() => "MyValue".StartsWith("MyV")}
.
Я подумал, что в этот момент я могу просто позвонить var result = Expression.Invoke(expr, null);
против него, и я получу свой логический результат. Но это просто возвращает InvocationExpression
, который в отладчике выглядит как {Invoke(() => "MyValue".StartsWith("MyV"))}
.
Я почти уверен, что я близко, но не могу понять, как получить мой результат!
Спасибо.