我应该使用EventHandler 和/或EventArgs委托模式吗?

阅读我的C#书,它讨论了在MS喜欢的模式中使用事件/代理(我假设我认为事件相当于没有成员变量访问的公共委托):

public delegate Something(object o, EventArgs e) 

然后进入有关EventArgs解释,基本上不需要委托声明:

 public EventHandler events 

与(我认为)相同

 private delegate Something(object o, SomeEventArgs e); public event Something events; 

使用EventHandler是个好主意吗? 我可以看到为什么发送object可能有用,但不是所有时间 – 而且很多时候,EventArgs可能会变得很烦人。

微软肯定推出了一些很好的模式,这些模式使得使用C#成为一种愉快的体验。 话虽这么说,我建议您编写事件处理程序以方便您的客户端代码,而不是为了满足模式而编写大量代码。

 delegate void ClientMessageHandler(IClient client, IMessage message);