基本上我試圖將兩個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 –