COM-взаимодействие - это технология, включенная в .NET Framework Common Language Runtime (CLR), который позволяет объектам модели компонентных объектов (COM) взаимодействовать с объектами.NET, и наоборот.
COM Interop направлен на обеспечение доступа к существующим COM-компонентам без необходимости изменения исходного компонента. Он пытается сделать типы.NET эквивалентными типам COM. Кроме того, COM-взаимодействие позволяет разработчикам COM получать доступ к управляемым объектам так же легко, как и к другим COM-объектам.
.NET Framework создает библиотеку типов и специальные записи реестра, когда компонент зарегистрирован. Он предоставляет специализированную утилиту (RegAsm.exe
, обычно расположенную в C: \ Windows \ Microsoft.NET \ Framework
), которая экспортирует управляемые типы в библиотеку типов и регистрирует управляемый компонент. как традиционный компонент COM. Когда тип создается через COM,.NET CLR является фактическим выполняемым COM-объектом, и он просто маршалирует любые вызовы методов или доступ к свойствам для реализации типа.
COM без регистрации можно использовать, чтобы избежать DLL hell.
COM-взаимодействие для существующего компонента COM может быть создается с помощью инструмента Tlbimp.exe
, поставляемого с.NET Framework SDK. Этот инструмент создаст набор прокси-классов, реализованных в CIL, который инкапсулирован в сборку.
COM-взаимодействие автоматически предоставляет следующие службы для упрощения использования COM. NET:
retval
в возвращаемые значения..