Поделиться через


Встроенная совместимость

В следующих статьях показаны различные способы выполнения "машинного взаимодействия" в .NET.

Существует несколько причин, по которым вам может понадобиться вызвать нативный код:

  • Операционные системы приходят с большим объемом API, которые не присутствуют в библиотеках управляемых классов. Основным примером этого сценария будет доступ к аппаратным или операционным функциям управления операционной системой.
  • Взаимодействие с другими компонентами, имеющими или способными создавать API в стиле C (собственные API), такие как код Java, предоставляемый через собственный интерфейс Java (JNI) или любой другой управляемый язык, который может создать собственный компонент.
  • В Windows большинство установленных программ, таких как набор Microsoft Office, регистрирует com-компоненты, представляющие свои программы, и позволяет разработчикам автоматизировать их или использовать их. Это также требует встроенной совместимости.

В предыдущем списке не рассматриваются все потенциальные ситуации и сценарии, в которых разработчику потребуется или нравится или требуется интерфейс с собственными компонентами. Например, библиотека классов .NET использует встроенную поддержку взаимодействия для реализации достаточного количества api-интерфейсов, таких как поддержка консоли и манипуляция, доступ к файловой системе и другие. Однако важно отметить, что при необходимости существует возможность.

Замечание

Большинство примеров в этом разделе представлены для всех трех поддерживаемых платформ для .NET Core (Windows, Linux и macOS). Однако для некоторых кратких и иллюстрирующих примеров показан только один пример, использующий имена файлов и расширения Windows (т. е. dll для библиотек). Это не означает, что эти функции недоступны в Linux или macOS, это было сделано просто для удобства.

См. также