【发布时间】:2014-09-19 12:16:33
【问题描述】:
下面的代码做了“包含”的表达:
private static Expression<Func<T, bool>> Contains<T>(string property, string value)
{
var obj = Expression.Parameter(typeof(T), "obj");
var objProperty = Expression.PropertyOrField(obj, property);
var contains = Expression.Call(objProperty, "Contains", null, Expression.Constant(value, typeof(string)));
var lambda = Expression.Lambda<Func<T, bool>>(contains, obj);
return lambda;
}
我对表达式不是很熟悉,我不知道如何将否定放入表达式函数中,并且在“表达式”类中找不到任何合适的方法。有没有类似的方法来动态创建“不包含”表达式?
【问题讨论】: