C# EventHandler 和泛型 EventHandler<T>类型
提问人:刘团圆发布时间:2020-12-08
大多数情况下,都应使用返回类型为void、带两个参数的事件处理程序。第一个参数的类型是object,是事件源。第二个参数的类型派生于System.EventA屯s,包含任意事件实参。这非常常见,为此.NET提供了两个委托类型EventHandler和EveiitHmKiler<T>,以便定义事件。它们都是委托,使用标准的事件处理模式。泛型版本允许指定要使用的事件实参的类型。
在前面的示例中演示了这一点,使用了泛型委托类型EventHamller<T>t如下所示:
public class Connection
{
public event EventHandler<MessageArrivedEventArgs> MessageArrived;
...
}
这显然是件好事,因为它简化了代码。一般来说,在定义事件时,最好使用这些委托类型,注意,如果事件不需要事件实参数据,仍然可以使用EventHandler委托类型,只不过要传递EventAigs.Empty作为实参值。
继续查找其他问题的答案?
相关视频回答
回复(0)
点击加载更多评论>>