Whidbey C#: 匿名方法 | Anonymous Method

2004-03-06 by 开心就好

再一个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");
};

贴子以"现状"提供且没有任何担保也没有授予任何权利。


Comments