c# com dynamic c#-4.0

¿CreateObject equivalente para C#4, palabra clave dinámica y enlace tardío?



com dynamic (1)

¿Cómo creo un objeto dinámico COM / OLE / ActiveX en C # 4.0 desde un identificador de programa o ProgID (como "Word.Application") sin hacer referencia a una biblioteca?

En C # 3.5 tendría que escribir algo así como

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

¿Hay alguna manera más fácil de hacerlo en C # 4.0 para poder asignarlo a una variable de tipo dinámico (usando la palabra clave dinámica)?


Qué hay de malo en

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

?

Si es un nombre de tipo conocido, también hay

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