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

Tru*_*ill 10 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);
Run Code Online (Sandbox Code Playgroud)

有没有更简单的方法在C#4.0中这样做,所以我可以将它分配给动态类型的变量(使用动态关键字)?

Ran*_*pho 14

怎么了?

dynamic myTypeInstance = Activator.CreateInstance(Type.GetTypeFromProgID(typeName, true));
Run Code Online (Sandbox Code Playgroud)

如果它是一个已知的类型名称,那么也是

dynamic myTypeInstance = Activator.CreateInstance("typeName", "assemblyName");
Run Code Online (Sandbox Code Playgroud)