如何在不引用库的情况下从程序标识符或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关键字)?
答案 0 :(得分:14)
有什么问题
dynamic myTypeInstance = Activator.CreateInstance(Type.GetTypeFromProgID(typeName, true));
如果它是已知的类型名称,那么还有
dynamic myTypeInstance = Activator.CreateInstance("typeName", "assemblyName");