再一个WinForm中添加对其包含的一个按钮button1的Click事件的event handler,我们在C# V1.x中常常这样写:
this.button1.Click += new System.EventHandler(this.button1_Click);
private void button1_Click(object sender, System.EventArgs e)
{
MessageBox.Show(“Button 1 is clicked”);
}
当然VS.NET的支持让我们不需要手工写出这么多代码。不过当event handler不需要使用sender, e的情况下,能不能只写出event handler的body而无需考虑代理的signature?
在C# V2.0,anonymous method提供了这一可能。上面的代码可以改写为:
this.button1.Click += delegate
{
MessageBox.Show(“Button 1 is clicked”);
};
贴子以”现状”提供且没有任何担保也没有授予任何权利。