Примечание. Дополнительные сведения см. в этом связанном вопросе: Как получить LINQPad для Dump() System.__ComObject references ?
Я могу получить CLSID класса RCW, соответствующего COM-объекту (полученному из другого COM-объекта, не инициализированного моим кодом), используя IPersist.GetClassID()
.
Type.GetTypeFromCLSID()
всегда возвращает слабо- типизированный System.__ComObject
, не строго типизированный класс RCW.
Мне нужно получить System.Type
строго типизированного класса RCW, чтобы иметь возможность обернуть им COM-объект, используя Marshal.CreateWrapperOfType()
.
Возможно ли это или это невозможно из-за того, как работает COM-взаимодействие?
Dictionary<Guid, Type>
и предоставить тип из этого словаря, когда у вас есть guid. - person Simon Mourier   schedule 07.02.2013System.__ComObject
:p Это может оказаться неработоспособным, учитывая, насколько велики библиотеки объектов, с которыми я работаю. - person blah238   schedule 07.02.2013