从C访问COM dynamicaly#

我想从编译的C#代码中访问COM对象。从C访问COM dynamicaly#

不可能添加程序集引用并以常规方式“使用”它,任何人都可以指向动态COM查询示例吗?

回答:

您可以使用System.Activator加载COM对象上的苍蝇,例如:

Type t = Type.GetTypeFromProgID("CDO.Message"); 

object obj = Activator.CreateInstance(t);

并使用Type.InvokeMember()调用对象的方法。

回答:

我知道这将适用于Office COM Interop,不知道任何其他库。

我希望你的意思是你想使用新的dynamic类型与C#?

您需要使用.NET4无PIA特性:

  1. 添加COM引用,右键点击它。
  2. 点击属性。
  3. 而且应该有选项 - > Embed Interop Assembly。 确保其为真。

现在,如果您注意到,大多数构造函数和方法都会有可选参数,并且某些对象(如我认为的工作表)将是dynamic类型。

如果你有一个"Interop Type cannot be embedded error"看到这个answer

以上是 从C访问COM dynamicaly# 的全部内容, 来源链接: utcz.com/qa/257341.html

回到顶部