如何在使用DLR(动态)和没有类型库时为COM对象创建事件处理程序?

时间:2015-09-09 07:12:29

标签: c#-4.0 dynamic com

我尽量避免在C#中使用Type Libraries进行COM自动化,而是使用dynamic关键字在运行时解析类型。 除了尝试定义事件处理程序时,这很好。

我试图用这种方式定义它:

_COMObject.OnStop += new Action(OnStop);

然而,原始COM对象定义了自己的EventHandler类型,没有参数且没有返回值。 因此,当然Action不是同一类型,这会导致RuntimeBinderException声明它不能将Action类型转换为ComObjectCustomEventHandler,尽管它们具有相同的签名。

我需要像动态委托这样的东西,但我还没弄清楚如何定义它。

0 个答案:

没有答案