Я ненавижу EventHandler. Я ненавижу, что мне нужно приложить sender
, если я хочу что-то с этим сделать. Я ненавижу, что мне нужно сделать новый класс, наследующий от EventArgs
, чтобы использовать EventHandler<T>
.
Мне всегда говорили, что EventHandler
- это традиция и бла, бла... что угодно. Но я не могу найти причину, почему эта догма все еще существует.
Есть ли причина, по которой было бы неплохо создать новый делегат:
delegate void EventHandler<TSender, T>(TSender sender, T args);
Таким образом, sender
будет типичным, и я могу передать все, что мне нужно, в качестве аргументов (включая пользовательские EventArgs, если я так желаю).