Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В следующих статьях показаны различные способы выполнения "машинного взаимодействия" в .NET.
Существует несколько причин, по которым вам может понадобиться вызвать нативный код:
- Операционные системы приходят с большим объемом API, которые не присутствуют в библиотеках управляемых классов. Основным примером этого сценария будет доступ к аппаратным или операционным функциям управления операционной системой.
- Взаимодействие с другими компонентами, имеющими или способными создавать API в стиле C (собственные API), такие как код Java, предоставляемый через собственный интерфейс Java (JNI) или любой другой управляемый язык, который может создать собственный компонент.
- В Windows большинство установленных программ, таких как набор Microsoft Office, регистрирует com-компоненты, представляющие свои программы, и позволяет разработчикам автоматизировать их или использовать их. Это также требует встроенной совместимости.
В предыдущем списке не рассматриваются все потенциальные ситуации и сценарии, в которых разработчику потребуется или нравится или требуется интерфейс с собственными компонентами. Например, библиотека классов .NET использует встроенную поддержку взаимодействия для реализации достаточного количества api-интерфейсов, таких как поддержка консоли и манипуляция, доступ к файловой системе и другие. Однако важно отметить, что при необходимости существует возможность.
Замечание
Большинство примеров в этом разделе представлены для всех трех поддерживаемых платформ для .NET Core (Windows, Linux и macOS). Однако для некоторых кратких и иллюстрирующих примеров показан только один пример, использующий имена файлов и расширения Windows (т. е. dll для библиотек). Это не означает, что эти функции недоступны в Linux или macOS, это было сделано просто для удобства.