c# 表达式树如下实现 .Where(p=>p.id==2)表达式 :p=>p.id==2如何动态生成,也就是属性id是已知字符串?如下可以得到LambdaExpression,但是怎么转成Expression呢?ParameterExpression param = Expression.Parameter(typeof(T),
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/18 16:09:40
c# 表达式树如下实现 .Where(p=>p.id==2)表达式 :p=>p.id==2如何动态生成,也就是属性id是已知字符串?如下可以得到LambdaExpression,但是怎么转成Expression呢?ParameterExpression param = Expression.Parameter(typeof(T),
c# 表达式树
如下实现 .Where(p=>p.id==2)
表达式 :p=>p.id==2如何动态生成,也就是属性id是已知字符串?
如下可以得到LambdaExpression,但是怎么转成Expression呢?
ParameterExpression param = Expression.Parameter(typeof(T),"c");
Expression left = Expression.Property(param,typeof(T).GetProperty("id"));
Expression right = Expression.Constant(1);
Expression filter = Expression.Equal(left,right);
LambdaExpression pred = Expression.Lambda(filter,param);
c# 表达式树如下实现 .Where(p=>p.id==2)表达式 :p=>p.id==2如何动态生成,也就是属性id是已知字符串?如下可以得到LambdaExpression,但是怎么转成Expression呢?ParameterExpression param = Expression.Parameter(typeof(T),
delegate(T)
{
return T.id==2;
}