Re[6]: Динамическое создание типа интерфейса
От: PeterPan Россия  
Дата: 16.08.10 03:19
Оценка:
Здравствуйте, Jolly Roger, Вы писали:

JR>Здравствуйте, PeterPan, Вы писали:


PP>>На старте известны: ProgID COM объекта и сигнатура событий (название, тип возвращаемого значения, названия аргументов и их типы) этого объекта, пусть, например, это будет void OnError(string msg).

PP>>Цель — подписаться на событие этого COM-объекта в среде .Net Framework, в нашем случае — иметь возможность журналировать msg.

JR>Для описанного случая — здесь
Автор: grigorash
Дата: 10.07.08
. Там не совсем такая ситуация, но предложенное решение — то, что нужно Вам, и оно работает, я проверил. Если всё-же есть ещё какие-то нюансы, не указанные Вами — вот ссылка 2
Автор: Greeter
Дата: 16.01.06
, но это я пока не проверял.


JR>Но прежде проверьте, вполне возможно, что Вам будет достаточно объявить класс без явных интерфейсов, с публичным методом OnError(string msg) и аттрибутом ClassInterface(ClassInterfaceType.AutoDispatch)


Не вижу по ссылкам то, что мне надо, а именно подписку на события.

Давайте по порядку:

1.Я создаю COM -объект по progID

      Type tp = Type.GetTypeFromProgID(progID);
      object comObject = Activator.CreateInstance(tp);


2. А дальше
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.