.NET 2.0 добавил общий тип делегата EventHandler
, чтобы упростить процесс написания пользовательских событий; вместо того, чтобы иметь чтобы определить класс EventArgs
и его соответствующий делегат (например, MyEventArgs
и MyEventHandler
), вам нужно написать только класс args.
Имея это в виду, Почему этот тип делегата почти нигде не появляется в .NET Framework? Я знаю, что большинство основных API-интерфейсов были разработаны до того, как были введены дженерики, но даже в новых частях платформы, таких как WPF, они выбрали явное определение типов делегатов; например, RoutedEventHandler
вместо EventHandler
.
Что-то не так с делегатом универсального обработчика событий? Я часто им пользуюсь и беспокоюсь, что мой код выглядит неуместным по сравнению со встроенными классами.