.NET 2.0添加了EventHandler< TArgs>泛型委托类型来简化写入自定义事件的过程;而不必定义一个EventArgs类及其相应的委托(例如MyEventArgs和MyEventHandler),您只需要编写args类.
考虑到这一点,为什么这个代理类型在.NET Framework中几乎没有出现?我知道大多数核心API是在泛型引入之前开发的,但即使在像WPF这样的框架的新部分中,他们也选择明确定义委托类型;例如RoutedEventHandler而不是EventHandler< RoutedEventArgs> ;. 通用事件处理程序委托是否有固有的错误?我经常使用它,我担心与内置类相比,我的代码显得非常不合适.
解决方法
只是一个历史事故.如果我们在.NET 1中有泛型,那么大多数其他代表将不存在.