¿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");