【问题标题】:CreateObject equivalent for C# 4, dynamic keyword, and late binding?C# 4、动态关键字和后期绑定的 CreateObject 等效项?
【发布时间】:2010-07-15 07:35:22
【问题描述】:

如何在 C# 4.0 中根据程序标识符或 ProgID(例如“Word.Application”)在不引用库的情况下创建动态 COM/OLE/ActiveX 对象?

在 C# 3.5 中,我必须编写类似的东西

Type comObjectType = Type.GetTypeFromProgID(progId, true);
Activator.CreateInstance(comObjectType);

在 C# 4.0 中是否有更简单的方法可以将其分配给动态类型的变量(使用 dynamic 关键字)?

【问题讨论】:

    标签: c# com dynamic c#-4.0


    【解决方案1】:

    怎么了

    dynamic myTypeInstance = Activator.CreateInstance(Type.GetTypeFromProgID(typeName, true));
    

    ?

    如果它是已知的类型名称,那么还有

    dynamic myTypeInstance = Activator.CreateInstance("typeName", "assemblyName");
    

    【讨论】:

    • 工作得很好(任何 CPU 也一样)。谢谢。
    猜你喜欢
    • 2013-12-09
    • 1970-01-01
    • 2023-03-29
    • 2012-11-23
    • 2011-07-08
    • 2010-12-29
    • 2011-03-11
    • 1970-01-01
    相关资源
    最近更新 更多