Каковы последствия этого ...
this.myButton.Click += new EventHandler(this.myButton_Clicked);
... по сравнению с этим?
this.myButton.Click += this.myButton_Clicked;
Я подозреваю, что компилятор создает для меня новый экземпляр во втором примере. Я уверен, что это вопрос новичка, но Google ничего не нашел. Может ли кто-нибудь дать мне некоторое представление?
Второй синтаксис — это сокращение от первого, появившегося в C# 2.0.
Да, во второй версии компилятор создает неявный делегат, подобно тому, как вы можете указать this.MyMethod
вместо new Action(this.MyMethod)
или new Action(() => this.MyMethod())
.