最佳答案
我刚刚开始使用表达式树,所以我希望这有意义。我试图创建一个表达式树来表示:
t => t.SomeProperty.Contains("stringValue");
到目前为止,我得到了:
private static Expression.Lambda<Func<string, bool>> GetContainsExpression<T>(string propertyName, string propertyValue)
{
var parameterExp = Expression.Parameter(typeof(T), "type");
var propertyExp = Expression.Property(parameter, propertyName);
var containsMethodExp = Expression.*SomeMemberReferenceFunction*("Contains", propertyExp) //this is where I got lost, obviously :)
...
return Expression.Lambda<Func<string, bool>>(containsMethodExp, parameterExp); //then something like this
}
我只是不知道如何引用 String.Contains()方法。
感谢你的帮助。