我最近想出如何從方法返回方法/功能,例如:你如何返回函數求<Func鍵<string, int>,int>的
public static Func<string, int> Parse() {
return x => Int32.Parse(x);
}
出於純粹的好奇,我想知道有多遠,我可以走。是否有可能以某種方式返回Func<Func<string, int>, int>
?
public static Func<Func<string, int>, int> PlusSomething(this Func<string, int> parser) {
return x => x + parser; //Obviously doesn't work
}
我能夠做到最接近的事是
public static Func<string, int, int> PlusSomething(this Func<string, int> parser) {
return (x, y) => parser(x) + y;
}
您有一個錯誤信息或者這樣的嗎?爲什麼'this'擴展方法是前綴? –
你試圖達到的目標有點不清楚;你能解釋一下更多的理想結果嗎? – Codor
雖然這個問題已經得到了解答,但我試圖讓它更清楚一些: 我不想讓一個方法接受一個值並返回一個值,而是希望它取一個值並返回一個函數(取而代之然後將計算該值)。這是前三行代碼所做的。 然後我問自己是否有可能創建一個方法,該方法將函數作爲參數,並且還會再次返回此函數(不進行任何計算),以及新方法實際應該執行的操作。 –