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

时间:2011-05-18 17:05:56

标签: c# events delegates event-handling

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

public delegate Something(object o, EventArgs e)

然后继续解释EventArgs<T>基本上不需要委托声明:

public EventHandler<SomeEventArgs> events

与(我认为)

相同
private delegate Something(object o, SomeEventArgs e);

public event Something events;

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

1 个答案:

答案 0 :(得分:9)

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

delegate void ClientMessageHandler(IClient client, IMessage message);