Связывание события без EventHandler .. почему это работает? - PullRequest
1 голос
/ 09 ноября 2009

Я просто не понимаю, почему оба работают:

this.timer.Tick += new EventHandler(timer_Tick);
this.timer.Tick += classA.Tick;

Спасибо

Ответы [ 2 ]

6 голосов
/ 09 ноября 2009

Начиная с версии 2.0 (AFAIR) C #, EventHandler (и другие делегаты тоже) создаются неявно. Если вы декомпилируете свой код, вы увидите это.

2 голосов
/ 09 ноября 2009

Проверьте спецификацию :

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

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