Эквивалент CreateObject для С# 4, динамическое ключевое слово и поздняя привязка?

Как создать динамический объект COM/OLE/ActiveX в С# 4.0 из идентификатора программы или ProgID (например, "Word.Application" ) без ссылки на библиотеку?

В С# 3.5 мне нужно написать что-то вроде

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

Есть ли более простой способ сделать это в С# 4.0, поэтому я могу назначить его переменной типа dynamic (используя динамическое ключевое слово)?

Ответ 1

Что случилось с

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

?

Если это известное имя типа, там также

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