Следует ли мне создать новый экземпляр делегата?

Каковы последствия этого ...

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

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

this.myButton.Click += this.myButton_Clicked;

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

8
задан Scott 19 October 2010 в 20:37
поделиться

2 ответа

Второй синтаксис — это сокращение от первого, появившегося в C# 2.0.

http://www.developer.com/net/csharp/article.php/3103031/Working-with-Delegates-Made-Easier-with-C-20.htm

9
ответ дан 5 December 2019 в 17:32
поделиться

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

1
ответ дан 5 December 2019 в 17:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: