位置:首页 > 软件操作教程 > 编程开发 > C# > 问题详情

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)
返回顶部