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