2010-08-27 15 views
8

Каковы последствия выполнения этого ...Должен ли я создать новый экземпляр делегата?

this.myButton.Click += new EventHandler(this.myButton_Clicked); 

... по сравнению с этим?

this.myButton.Click += this.myButton_Clicked; 

Я подозреваю, что компилятор создает новый экземпляр для меня во втором примере. Я уверен, что это вопрос новичков, но Google ничего не обнаружил. Может ли кто-нибудь дать мне некоторое представление?

+1

Хороший вопрос, почему Visual Studio IntelliSense, даже 2010, использует старый синтаксис ?! – abatishchev

ответ

1

Да, вторая версия делает компилятор создает неявный делегат, так же, как вы можете указать this.MyMethod вместо new Action(this.MyMethod) или new Action(() => this.MyMethod()).

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