【发布时间】:2014-03-04 10:09:25
【问题描述】:
我刚开始使用 C#,目前正在学习事件和委托。我理解(希望) EventHandler 是事件发生时将要调用的内容。我的问题是关于以下代码:
public partial class Form1 : Form
{
Timer foo = new Timer();
public Form1()
{
InitializeComponent();
foo.Tick += new EventHandler(Bar);
foo.Interval = 1000;
}
private void button1_Click(object sender, EventArgs e)
{
foo.Start();
}
private void Bar(object sender, EventArgs e)
{
MessageBox.Show("Tick!");
}
}
哪个是正确的,为什么?
foo.Tick += new EventHandler(Bar);
or
foo.Tick += Bar;
它们的工作方式似乎相同。虽然这里有一些类似的问题,但我似乎不明白。对不起,如果这个问题很愚蠢,我对 .NET 真的很陌生。
【问题讨论】:
-
没有区别,其实“foo.Tick += Bar”是一个语法糖,等于“foo.Tick += new EventHandler(Bar)”
标签: c# events delegates event-handling