Должен ли я создать новый экземпляр делегата? - PullRequest
8 голосов
/ 27 августа 2010

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

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

... против этого?

this.myButton.Click += this.myButton_Clicked;

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

Ответы [ 2 ]

9 голосов
/ 27 августа 2010

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

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

1 голос
/ 27 августа 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...