Позднее связывание
От: xbarmaglot  
Дата: 04.09.12 05:51
Оценка:
У меня есть сторонний COM-объект.
Я добавляю ссылку на него в проекте.
Из сборки виден интерфейс, но не видны его методы.

Создаю объект. Его тип "System.__ComObject";
Получаю его интерфейс и кладу его в карту Dictionary<string, object>.

Если у этого интерфейса дернуть метод, то он отрабатывает.
Но если я по символическому имени пытаюсь найти интерфейс в карте и вызвать его метод

if (m_interfaces.ContainsKey(key))
{
   var find = m_interfaces[key];
   find.GetType().InvokeMethod(method, BindingFlags.InvokeMethod, null, find, args);
}


то получаю исключение

Неизвестное имя. Исключение в HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME)


Почему явно я могу вызвать метод интерфейса, а отложено не получается ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.