Мне нужно реализовать выражение для метода, как здесь:
var prop = Expression.Property(someItem, "Name");
var value = Expression.Constant(someConstant);
var contains = typeof(string).GetMethod("Contains", new[] {typeof(string)});
var expression = Expression.Call(prop, contains, value);
Но для моего метода расширения:
public static class StringEx
{
public static bool Like(this string a, string b)
{
return a.ToLower().Contains(b.ToLower());
}
}
К сожалению, следующий код генерирует исключение ArgumentNullException для параметра "method":
var like = typeof(string).GetMethod("Like", new[] {typeof(string)});
comparer = Expression.Call(prop, like, value);
Что я делаю не так?