C# 为什么不使用自定义类而不是继承EventArgs类

C# 为什么不使用自定义类而不是继承EventArgs类,c#,.net,event-handling,eventargs,C#,.net,Event Handling,Eventargs,我想知道为什么我应该使用一个继承自EventArgs类的类,而不是使用一个在传递事件数据时为我做同样工作的自定义类?,因为这是在.NET中实现这一点的标准和最惯用的方法。整个ASP.NET和WinForms事件模型都依赖于这些约定。如果其他开发人员阅读您的代码,他将更容易理解,因为这是标准。也就是说,您当然可以使用您喜欢的任何类。因为您的事件args类将与接受事件args对象的任何其他函数兼容。您不必继承事件args,但它允许使用您的类的人使用和处理通用*处理程序(对象发送者,事件参数)声明。

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

,因为这是在.NET中实现这一点的标准和最惯用的方法。整个ASP.NET和WinForms事件模型都依赖于这些约定。如果其他开发人员阅读您的代码,他将更容易理解,因为这是标准。也就是说,您当然可以使用您喜欢的任何类。

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

您不必继承
事件args
,但它允许使用您的类的人使用和处理通用
*处理程序(对象发送者,事件参数)
声明。 如果您没有从
EventArgs
继承,那么它们必须使用显式类型

*Handler(object sender, YairsFakeEventArgs e)

仅使用自定义委托也是如此,但它们的区别要明显得多。

谢谢,伙计,现在我明白了。所以“(对象发送者,EventArgs e)”只是一种约定,对吧?谢谢!我正在寻找答案。