我剛開始使用表達式樹,所以我希望這是有道理的。我想創建一個表達式樹表示:如何創建表達式樹來表示C#中的String.Contains(「term」)'?
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()方法。
幫助讚賞。
如果我想打不startWith「substring」? – amd 2015-04-04 16:29:57