2014-03-04 208 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)的語法糖。