2014-03-04 209 views
0

我刚刚开始使用C#,目前我正在学习事件和代表。我理解(希望)EventHandler是事件发生时要调用的内容。我的问题是关于下面的代码:C#事件和事件处理程序

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。

+1

没有区别,实际上“foo.Tick + = Bar”是一个语法糖,等于“foo.Tick + = new EventHandler(Bar)” –

回答

0

它们是相同的。 foo.Tick += Barfoo.Tick += new EventHandler(Bar)的语法糖。