2015-04-29 48 views
0

下面的例子給我一個錯誤返回組合表達

public Func<double> ReturnExpression(Func<double> a, Func<double> b) 
     { 
      return() => a * b; 
     } 

有什麼不好呢?如果我知道返回double和b,爲什麼我不能從a和b的結果中返回新的表達式?

錯誤我有:can't applay operand * to operands of type Func<double> and Func<double>

+3

它們是函數,因此您需要將它們稱爲函數:'a()* b()'。 –

回答

3

a和b是功能。您需要這樣做:

public Func<double> ReturnExpression(Func<double> a, Func<double> b) 
     { 
      return() => a() * b(); 
     } 

語法在OP中無效,但您明白了。