C#4,动态关键字和后期绑定的CreateObject等价物?

时间:2010-07-14 23:20:42

标签: c# com dynamic c#-4.0

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

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

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

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

1 个答案:

答案 0 :(得分:14)

有什么问题
dynamic myTypeInstance = Activator.CreateInstance(Type.GetTypeFromProgID(typeName, true));

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

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