将事件附加到动态对象 [英] Attach event to dynamic object

查看:31
本文介绍了将事件附加到动态对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我以休闲方式创建了一个 COM 对象的 c# 动态对象:

I create a c# dynamic object of a COM-Object on the fallowing way:

dynamic pdfCreator = Activator.CreateInstance(
                       Type.GetTypeFromProgID("PDFCreator.clsPDFCreator"));

类 clsPDFCreator 正在定义一个调用 eReady 的事件.但是当我尝试注册一个像

The class clsPDFCreator is defining an event calling eReady. But when I try to register an Eventhandler like

pdfCreator.eReady += _PDFCreator_eReady;

我收到错误消息运算符‘+=’不能应用于‘动态’和‘方法组’类型的操作数".

I get the error message "Operator '+=' cannot be applied to operands of type 'dynamic' and 'method group'".

如何将 EventHandler 注册到声明为动态对象的 Event?

推荐答案

这个怎么样:

public delegate void eReadyHandler();

static void Main(string[] args)
{
    var comType = Type.GetTypeFromProgID("PDFCreator.clsPDFCreator");
    dynamic pdfCreator = Activator.CreateInstance(comType);
    //dynamic pdfCreator = new PDFCreator.clsPDFCreator();

    //pdfCreator.eReady = null;
    pdfCreator.eReady += new eReadyHandler(_PDFCreator_eReady);
}

public static void _PDFCreator_eReady()
{

}

这篇关于将事件附加到动态对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆