从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特性:
- 添加COM引用,右键点击它。
- 点击属性。
- 而且应该有选项 - > Embed Interop Assembly。 确保其为真。
现在,如果您注意到,大多数构造函数和方法都会有可选参数,并且某些对象(如我认为的工作表)将是dynamic
类型。
如果你有一个"Interop Type cannot be embedded error"
看到这个answer
以上是 从C访问COM dynamicaly# 的全部内容, 来源链接: utcz.com/qa/257341.html