我应该使用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);