如何评估此二进制表达式的左侧?
Expression<Func<Person, bool>> expr = (x) => x.Birthday.AddMinutes(1) > DateTime.UtcNow;
如果我打电话
System.Linq.Expressions.Expression.Lambda(expr.Left).Compile().DynamicInvoke()
我收到错误消息“从作用域”引用的类型为'...'的变量'x',但未定义”
要清楚,我想获取x.Birthday.AddMinutes(1)的值,它是InstanceMethodCallExpressionN
Expression.Lambda(((BinaryExpression)expr.Body).Left, expr.Parameters).Compile().DynamicInvoke(new Person() { Birthday = DateTime.Now})