Реализация ISupportErrorInfo на объекте C #, доступном для COM - PullRequest
2 голосов
/ 03 апреля 2009

Я пишу COM-объект на C #, и я хотел бы выдавать ошибки клиентскому программному обеспечению vba / asp, используя механизм, который он понимает, - объект Err.

В старые добрые времена это означало бы реализацию ISupportErrorInfo для COM-объекта, но я не могу найти никакой информации о том, как реализовать этот интерфейс в объекте C #.

Кто-нибудь может помочь?

спасибо!

1 Ответ

1 голос
/ 03 апреля 2009

Вы должны быть в состоянии смоделировать это, создав пользовательское исключение из управляемого кода. Все CCW автоматически реализуют ISupportErrorInfo ( Reference ) и понимают, как вернуть информацию об ошибке для сгенерированного исключения.

Все, что вам нужно сделать, это создать собственное исключение (если текущее не подходит вам) и предоставить соответствующий HResult, установив базовый член Exception.HResult.

...