我以下面的方式创建一个COM-Object的c#动态对象:
- dynamic pdfCreator = Activator.CreateInstance(
- Type.GetTypeFromProgID("PDFCreator.clsPDFCreator"));
clsPDFCreator类定义了一个调用eReady的事件.但是当我尝试注册一个类似的事件处理程序时
- pdfCreator.eReady += _PDFCreator_eReady;
我收到错误消息“Operator’=’不能应用于’dynamic’和’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()
- {
- }