我不確定這是不是嚴格柯里,但我基本上想要實現以下。給定一個Expression
:我怎樣才能將表情注入另一個表情?
Expression<Func<T1, T2, TResult>> expression
我想在自變量一個通過,併產生相應的Expression
其中用於該參數的值是固定的。得到的表達式應該在功能上等同於expression
,只是它應該包含少一個參數。
這導致表達式將是這個樣子:
Expression<Func<T2, TResult>> curriedExpression;
我已經試過這一點,但它不工作,因爲Expression
不會隱式轉換爲Lambda表達式:
curriedExpression = b => expression(fixedValueForT1, b);
請注意curriedExpression
不應包含對expression
的調用;除了固定值之外,它應該包含重複的邏輯。
我希望這是有道理的。讓我知道這是否含糊不清或解釋不好。
感謝。有沒有更接近你用'Func'做同樣的簡單方法? – Sam
我擔心沒有簡單的方法,當你使用表達式處理句法結構時,這總是一個相當複雜的業務! –