В чем разница между этим:
this.btnOk.Click += new System.EventHandler(this.btnOK_Click);
и это?
this.btnOk.Click += this.btnOK_Click;
Они оба работают. Первое - это то, что Visual Studio по умолчанию использует при использовании фрагментов. Но, похоже, это только лишнее словоблудие, или я чего-то упускаю?





Я считаю, что C# начиная с версии 3.0 неявно добавил обработчик делегата. Однако это может помочь быть более явным, особенно когда существует несколько возможных типов делегатов.
«+ = Delegate_Name» - это синтаксический сахар. Компилятор создаст для вас новую оболочку.
Нет разницы. Отсутствие создания экземпляра делегата - это просто синтаксическая конфетка; компилятор C# сгенерирует для вас экземпляр делегата под капотом.
В C# 3.0 и новее в этом нет никакой разницы. До C# 3.0 EventHandlers требовались из-за ограничений компилятора, но с появлением C# 3.0 предпочтительнее вторая форма, если вы не хотите быть очень явной.
возможный дубликат Обработчики событий C#