Реализация ISupportErrorInfo для объекта C#, доступного для COM
-
23-08-2019 - |
Вопрос
Я пишу COM-объект на C# и хотел бы сообщать об ошибках клиентскому программному обеспечению vba/asp, используя понятный ему механизм — объект Err.
В старые добрые времена это означало бы реализацию ISupportErrorInfo в объекте COM, но я не могу найти никакой информации о том, как реализовать этот интерфейс в объекте C#.
Кто-нибудь может помочь?
Спасибо!
Решение
У вас должна быть возможность смоделировать это, вызвав собственное исключение из управляемого кода.Все CCW автоматически реализуют ISupportErrorInfo (Ссылка) и понять, как вернуть информацию об ошибке для возникшего исключения.
Все, что вам нужно сделать, это создать собственное исключение (если текущее вас не устраивает) и предоставить соответствующий HResult, установив базовый член Exception.HResult.