21

我想知道为什么我应该使用从该类继承的EventArgs类,而不是使用在传递事件数据时为我做同样工作的自定义类?

4

3 回答 3

28

您不必继承 from ,但它允许使用您的类EventArgs人使用和处理泛型*Handler(object sender, EventArgs e)声明。如果你不继承 from EventArgs,那么他们必须使用显式类型

*Handler(object sender, YairsFakeEventArgs e)

仅使用自定义委托也是如此,但它们明显不同。

于 2011-07-25T13:30:49.773 回答
18

因为您的 event-args 类将与接受EventArgs对象的任何其他函数兼容。

于 2011-07-25T13:29:39.240 回答
6

因为这是在 .NET 中执行此操作的标准和最惯用的方法。整个 ASP.NET 和 WinForms 事件模型都依赖于这些约定。如果其他开发人员阅读您的代码,他会更容易理解,因为这是标准。话虽这么说,您当然可以使用任何您喜欢的课程。

于 2011-07-25T13:29:07.710 回答