大多数情况下,都应使用返回类型为void、带两个参数的事件处理程序。第一个参数的类型是object,是事件源。第二个参数的类型派生于System.EventA屯s,包含任意事件实参。这非常常见,为此.NET提供了两个委托类型EventHandler和EveiitHmKiler<T>,以便定义事件。它们都是委托,使用标准的事件处理模式。泛型版本允许指定要使用的事件实参的类型。
在前面的示例中演示了这一点,使用了泛型委托类型EventHamller<T>t如下所示:
public class Connection
{
public event EventHandler<MessageArrivedEventArgs> MessageArrived;
...
}
这显然是件好事,因为它简化了代码。一般来说,在定义事件时,最好使用这些委托类型,注意,如果事件不需要事件实参数据,仍然可以使用EventHandler委托类型,只不过要传递EventAigs.Empty作为实参值。
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>