を呼び出してRegex.IsMatch()
、動的な linq クエリ内で返された結果を評価しようとしています。これは私が試したものです:
public static LambdaExpression Parse(SearchQuery query)
{
string compilableExpression = "Regex.IsMatch(Category.ToLower(), \"\\bSomeCat\\b\", RegexOptions.Compiled) == true";
ParameterExpression parameter1 = System.Linq.Expressions.Expression.Parameter(typeof(EventListItem));
ParameterExpression parameter2 = System.Linq.Expressions.Expression.Parameter(typeof(Regex));
return System.Linq.Dynamic.DynamicExpression.ParseLambda(new[] { parameter1, parameter2 }, null, compilableExpression);
}
この場合Category
、 は のプロパティEventListItem
です。この例外は、呼び出し時にスローされますParseLambda()
:
Unknown identifier 'Regex'
.
メソッドを呼び出す方法はありますか? メソッドに出くわしましExpression.Call()
たが、それが探しているものかどうかはわかりません。どんな助けでも大歓迎です。