我试图从即时编译的C#代码中访问COM对象。
不可能通过常规方式添加程序集引用和“使用”它,任何人都可以指向动态COM查询示例吗?
答案 0 :(得分:4)
您可以使用System.Activator动态加载COM对象,例如:
Type t = Type.GetTypeFromProgID("CDO.Message");
object obj = Activator.CreateInstance(t);
并使用Type.InvokeMember()
来调用对象的方法。
答案 1 :(得分:0)
我知道这适用于Office COM Interop,不确定任何其他库。
我希望你的意思是你想在C#中使用新的dynamic
类型?
您需要使用.NET4 no Pia功能:
现在,如果你注意到,大多数构造函数和方法都有可选参数,而某些对象(比如我认为的工作表)将是dynamic
类型。
如果您有"Interop Type cannot be embedded error"
,请参阅此answer