Я пытаюсь найти самый чистый и быстрый способ вызова методов COM-объектов.Самый быстрый способ вызова метода COM-объектов без использования RCW
Я использую RCW для объекта, но каждый раз, когда новая версия объекта COM третьего участника выходит из его GUID изменений, которые затем приводят к RCW бесполезно, так что мне пришлось изменить и начать использовать
Type mytype = Type.GetTypeFromProgID("MyCOMApp.Application");
, чтобы каждый раз, когда выходила новая версия COM-объекта, мне не нужно перекомпилировать и повторно развернуть мое приложение.
На данный момент я использую refelection как mytype.InvokeMemeber
, но я чувствую, что он настолько медленный по сравнению с просто вызовом RCW.
Как все остальные решают проблему изменения сторонних версий COM-объектов, но при этом сохраняют скорость RCW?
Является ли использование позднего связывания VB медленнее, чем использование отражения в C#? –
@Nathan W: Нет, это не так. Механизм в его ядре тот же (отражение). – casperOne
Я узнал, что изменен только GUID класса, поэтому отличное от метода интерфейса отлично работает. Благодаря :) –