Необходимо вызвать компонент COM, используя отражение в .NET - PullRequest
2 голосов
/ 20 мая 2010

Мне нужно определить тип компонента COM (неуправляемый код) и вызвать открытые методы интерфейса, используя отражение в C # во время выполнения.

  1. First. Какой член «Type» сообщает, что тип является компонентом COM, и мы можем использовать CLSID во время выполнения? Является ли Type.COMObject?
  2. Мне нужно вызывать методы открытых интерфейсов, как они вызывали в неуправляемом коде, используя CoCreateInstance, передавая CLSID и REFID ... Я использую InvokeMember, но он возвращает ноль или 0 в качестве параметра out.

Как передать параметр в этом случае.? Есть ли необходимость передавать параметр? Поскольку весь мой неуправляемый код COM предполагает использование последнего параметра в качестве параметра OUT, а после выполнения он помещает результат в этот выходной параметр. Но я преобразовал весь мой неуправляемый код COM в управляемые сборки .NET с помощью tlbimp.exe.

1 Ответ

0 голосов
/ 27 мая 2011

Этот вопрос был задан год назад, поэтому я не знаю, насколько он актуален, но может ли это помочь? C # 4.0 'dynamic' не устанавливает аргументы ref / out

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...