2012-08-26 47 views
3

可能重複:
Attaching Eventhandler with New Handler vs Directly assigning it添加事件處理程序時,是否使用'new()'?

是什麼賦予的回調之間的差異,讓使用+= new(...)而不只是+=說按鈕的點擊事件?以下是對每一個清晰的樣本:

Button b = new Button(); 
b.Click += new System.EventHandler(button_Click); 
b.Click += button_Click; 

是否第一個創建方法button_Click而第二總是使用在定義的一個新實例?

回答

7

第二個是第一個短手,所以兩者都會創建事件處理程序並將其添加到Click

這裏是good explanation從「C#深度」中的事件章節。

2

沒有區別。

你也可以做..

b.Click += (e, sender) =>{ 
// do something here 
}; 

所有這三個都是一樣的,即分配給委託的功能。

+0

啊,但你不能正確分離asaik – EricG

相關問題