我要建立的表达式:x => x.Date >= SomeDate
动态表达“X => x.Date> = SomeDate”
但它下面的代码,所有我能得到的是x => (x.Date >= SomeDate)
,这并不在所有的工作,因为我猜是括号。
Expression<Func<T, DateTime>> expression = x => x.Date;
var date= new DateTime(2013, 8, 22);
ParameterExpression param = Expression.Parameter(typeof(T), "x");
Expression lambda = Expression.Lambda<Func<T, bool>>(
Expression.GreaterThanOrEqual(expression.Body,
Expression.Constant(date, typeof(DateTime))), param);
var valueExpression = lambda as Expression<Func<T, bool>>;
“并不在所有的工作”过于含糊来帮助你。你在看什么?为什么你将'lambda'声明为'Expression'而不是直接声明为'Expression>'? –