Здравствуйте, PeterPan, Вы писали:
PP>На старте известны: ProgID COM объекта и сигнатура событий (название, тип возвращаемого значения, названия аргументов и их типы) этого объекта, пусть, например, это будет void OnError(string msg).
PP>Цель — подписаться на событие этого COM-объекта в среде .Net Framework, в нашем случае — иметь возможность журналировать msg.
Для описанного случая —
здесьАвтор: grigorash
Дата: 10.07.08
. Там не совсем такая ситуация, но предложенное решение — то, что нужно Вам, и оно работает, я проверил. Если всё-же есть ещё какие-то нюансы, не указанные Вами — вот
ссылка 2Автор: Greeter
Дата: 16.01.06
, но это я пока не проверял.
Но прежде проверьте, вполне возможно, что Вам будет достаточно объявить класс без явных интерфейсов, с публичным методом OnError(string msg) и аттрибутом
ClassInterface(ClassInterfaceType.AutoDispatch)