2010-07-14 11 views
10

Bir kütüphaneye başvurmadan bir program tanımlayıcısı veya ProgID (örneğin "Word.Application" gibi) C# 4.0'da dinamik bir COM/OLE/ActiveX nesnesi nasıl oluşturabilirim? C# 3.5 olarakC# 4, dinamik anahtar kelime ve geç bağlama için CreateObject karşılığı?

ben daha kolay bir nedenle C# 4.0 bunu yapmak yolu Dinamik türde bir değişkene atayabilirsiniz (dinamik anahtar kelimeyi kullanarak) var mı

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

gibi bir şey yazmak zorunda ediyorum ?

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

nesi var

cevap

14

? bilinen bir tür adı ise

, orada da

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

(çok Herhangi CPU) çok ince çalışır. Teşekkürler. – harveyt