這是更多的C#語法問題,而不是需要解決的實際問題。假設我有一個將委託作爲參數的方法。比方說,我有以下方法確定:有什麼辦法直接使用C#方法作爲委託?
void TakeSomeDelegates(Action<int> action, Func<float, Foo, Bar, string> func)
{
// Do something exciting
}
void FirstAction(int arg) { /* something */ }
string SecondFunc(float one, Foo two, Bar three){ /* etc */ }
現在,如果我要打電話TakeSomeDelegates
與FirstAction
和SecondFunc
作爲參數,至於我可以告訴大家,我需要做的是這樣的:
TakeSomeDelegates(x => FirstAction(x), (x,y,z) => SecondFunc(x,y,z));
但有沒有更方便的方法來使用適合所需的委託簽名而不寫lambda的方法?理想情況下類似TakeSomeDelegates(FirstAction, SecondFunc)
,雖然顯然不能編譯。
」雖然顯然不編譯「...應該編譯:) – porges 2010-07-10 07:47:21
woops,我真的不知道我以前做錯了什麼,但它現在似乎工作得很好。我想這是一個非常愚蠢的問題:S – guhou 2010-07-10 07:51:10
對不起,浪費你的時間傢伙...我也不確定什麼答案標記爲正確的......我應該刪除這個問題嗎? – guhou 2010-07-10 07:54:53