心中已经建立的方法来动态构建这样的表达,下面是我的代码:如何获得建立表达式(C => c.user.code ==“XXX”)动态
public static Expression<Func<T, bool>> BuildStringEqualLambda(string propertyName, string propertyValue)
{
ParameterExpression parameterExp = Expression.Parameter(typeof(T), "type");
Expression propertyExp = Expression.Property(parameterExp, propertyName);
Expression right = Expression.Constant(propertyValue);
Expression e1 = Expression.Equal(propertyExp, right);
return Expression.Lambda<Func<T, bool>>(e1, new ParameterExpression[] { parameterExp });
}
但是,如果拉姆达像
c=>c.user.code == 'XXX'
,我调用方法如下图所示:
BuildStringEqualLambda("user.code","XXX");
的方法报告错误。
所以我的问题是如何获得建设表达式(C => c.user.code == 'XXX')动态
“该方法无法处理它。”你甚至认为这是什么意思? –