如何实例化没有Accessible Constructor的自定义EventArgs类?

Xen*_*ate 0 c# eventargs

我有个问题; 我正在使用一个外部库,其中一个特定事件有自己的自定义事件标记; 没有构造函数.如果我想使用这些eventargs抛出自己的事件,我该怎么办?

如果被问到我会提供更多细节,但我不确定我应该给予什么.:)

Tom*_*cek 6

其他答案提出了一些方法(或黑客)如何做到这一点.

但是,我会说如果库的作者没有给你任何方法来创建他们的自定义EventArgs类的新实例,那么你不应该这样做.如果要创建自己的事件,则应定义新的delegate和新的EventArgs类型(即使您复制了已在库中定义的类).

这有很好的理由:

  • 库可能会更改,EventArgs它们提供的自定义类型可能不再适合您的需求.
  • 库可能需要将一些特殊对象或特殊ID传递给它们EventArgs,因此您可能无法正确创建实例.

由于您只能从定义它的类中触发事件,因此您可能在类中定义了一个新事件(使用event关键字),因此没有真正的理由说明您无法声明自己的委托.或者您能否提供有关如何触发此事件的更多详细信息?