好的,我已经将函数作为参数传递给另一个函数,如下所示:
someFunction(..., passFunc);
passFunc(){ MessageBox.Show("Message"); }
private void someFunction(..., Func<int> f) { f(); }
这工作得很好。我将“passFunc”作为参数传递给“someFunction”,然后调用这个参数(“f()”)。然后我得到带有文本“消息”的消息框。行。
在更高版本的程序中,当我单击特定按钮时调用函数“passFunc”......然后我希望获取文本。我通常这样做:((Button)sender).Text;
. 但在这种情况下我不能这样做,因为我在这个“passFunc”中没有参数。
我怎样才能做到这一点?所以,“passFunc”看起来像:passFunc(object sender, EventArgs e)
然后我将能够做到这一点:
passFunc(object sender, EventArgs e)
{
MessageBox.Show(((Button)sender).Text);
}
这是代码: http: //pastie.org/6079188