我想知道为什么我应该使用继承自EventArgs
类的类而不是使用在传递事件数据时为我做同样工作的自定义类?
答案 0 :(得分:28)
你 没有继承EventArgs
,但它允许使用你的类的人使用和处理泛型*Handler(object sender, EventArgs e)
声明。
如果您不从EventArgs
继承,则必须使用明确键入的
*Handler(object sender, YairsFakeEventArgs e)
仅使用自定义代理也是如此,但它们明显不同。
答案 1 :(得分:18)
因为您的event-args类将与接受EventArgs
对象的任何其他函数兼容。
答案 2 :(得分:6)
因为这是在.NET中执行此操作的标准和最惯用的方式。整个ASP.NET和WinForms事件模型依赖于这些约定。如果另一个开发人员读取您的代码,他将更容易理解它,因为这是标准。据说你当然可以使用你喜欢的任何课程。