基本上我试图将两个lambda表达式与类表达式相乘,但我甚至无法构建并找不到文档。这里是我的代码:将两个lambda乘以表达式
var f = x=>x+2;
var g = x=>x+3;
var argX = Expression.Parameter(typeof(double), "x");
var fg = Expression.Multiply(Expression.Constant(g, typeof(Func<double, double>)), Expression.Constant(f, typeof(Func<double, double>)));
//var fg = Expression.Multiply(Expression.Constant(g),Expression.Constant(f));
var lambda = Expression.Lambda<Func<double, double>>(f3, argX);
return lambda.Compile();
它甚至意味着乘以两个函数?你可以乘*值*,但不能*函数*。 – Servy
如果你只是要将你的表达式编译成代表,为什么要处理表达式呢?只需从一开始就与代表打交道。 – Servy
lambda返回一个值,我想要乘以两个lambda表达式。基本上我想要的东西像x =>(x + 2)*(x + 3) 处理委托肯定会工作,但根据此主题会慢一点: http://stackoverflow.com/questions/5568294/编译的c-sharp-lambda-expressions-performance –