【发布时间】:2012-10-09 00:01:35
【问题描述】:
有人向我提到c#支持使用lambda表达式作为事件处理程序,有人可以与我分享一些关于这方面的参考吗?
首选代码 sn-p。
【问题讨论】:
有人向我提到c#支持使用lambda表达式作为事件处理程序,有人可以与我分享一些关于这方面的参考吗?
首选代码 sn-p。
【问题讨论】:
您可以使用 lambda 表达式来构建一个匿名方法,该方法可以附加到一个事件。
例如,如果您使用Button 和Label 创建一个Windows 窗体,您可以在构造函数中(InitializeComponent() 之后)添加:
this.button1.Click += (o,e) =>
{
this.label1.Text = "You clicked the button!";
};
这将导致标签在单击按钮时发生变化。
【讨论】:
试试这个例子
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!”);
};
}
【讨论】: