2010-07-14 53 views
10

如何在不引用庫的情況下從程序標識符或ProgID(如「Word.Application」)在C#4.0中創建動態COM/OLE/ActiveX對象?C#4的CreateObject等價物,動態關鍵字和後期綁定?

在C#3.5我不得不寫類似

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

是否有更簡單的方法來做到這一點在C#4.0,所以我可以把它分配給dynamic類型的變量(使用動態關鍵字) ?

回答

14

這有什麼錯

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

如果它是一個已知類型的名字,這裏還有

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

工作很細的(任何CPU太)。謝謝。 – harveyt 2014-09-06 23:19:44

相關問題