8

有人向我提到 c# 支持使用 lambda 表达式作为事件处理程序,有人可以与我分享一些关于此的参考吗?

首选代码片段。

4

2 回答 2

13

您可以使用 lambda 表达式来构建一个匿名方法,该方法可以附加到一个事件。

例如,如果您使用 aButton和 a创建 Windows 窗体Label,则可以在构造函数中(在 之后InitializeComponent())添加:

 this.button1.Click += (o,e) =>
     {
        this.label1.Text = "You clicked the button!";
     };

这将导致标签在单击按钮时发生变化。

于 2012-10-09T00:09:25.600 回答
0

试试这个例子

public Form1()
{
    InitializeComponent();
    this.button1.Click += new EventHandler(button1_Click);
}

void button1_Click(object sender, EventArgs e)
{
}

上面的事件处理程序可以使用这个 lambda 表达式重写

public Form1()
{
    InitializeComponent();
    this.button1.Click += (object sender, EventArgs e) = >
    {
        MessageBox.Show(“Button clicked!”);
    };
}
于 2012-10-09T00:15:17.143 回答