2014-03-04 4 views
0

Я только что начал работу с C#, и сейчас я узнаю о событиях и делегатах. Я понимаю (надеюсь), что EventHandler - это то, что будет вызываться, когда происходит событие. Я задавал себе вопрос:События 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.

+1

Нет никакой разницы, на самом деле «foo.Tick + = Bar» является синтаксическим сахаром и равен «foo.Tick + = new EventHandler (Bar)» –

ответ

0

Они такие же. foo.Tick += Bar - синтаксический сахар для foo.Tick += new EventHandler(Bar).

Смежные вопросы