这是更多的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