为什么不使用自定义类而不是inheritanceEventArgs类

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

您不必从EventArgsinheritance,但它允许使用您的类的人使用和处理generics*Handler(object sender, EventArgs e)声明。 如果您不从EventArgsinheritance,则必须使用显式键入

 *Handler(object sender, YairsFakeEventArgs e) 

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

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

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