Compartilhar via


Interoperabilidade nativa

Os artigos a seguir mostram as várias maneiras de fazer "interoperabilidade nativa" no .NET.

Existem alguns motivos para chamar em código nativo:

  • Os sistemas operacionais vêm com um grande volume de APIs que não estão presentes nas bibliotecas de classes gerenciadas. Um exemplo privilegiado para esse cenário seria o acesso a funções de gerenciamento de hardware ou sistema operacional.
  • Comunicando-se com outros componentes que têm ou podem produzir ABIs de estilo C (ABIs nativas), como código Java exposto por meio de JNI (Java Native Interface) ou qualquer outra linguagem gerenciada que possa produzir um componente nativo.
  • No Windows, a maioria dos softwares instalados, como o pacote do Microsoft Office, registra componentes COM que representam seus programas e permitem que os desenvolvedores os automatizem ou usem. Isso também requer interoperabilidade nativa.

A lista anterior não abrange todas as situações e cenários potenciais em que o desenvolvedor deseja, gostaria ou precisa interagir com componentes nativos. A biblioteca de classes do .NET, por exemplo, usa o suporte de interoperabilidade nativa para implementar um número justo de suas APIs, como suporte e manipulação do console, acesso ao sistema de arquivos e outros. No entanto, é importante observar que há uma opção, se necessário.

Observação

A maioria dos exemplos nesta seção será apresentada para todas as três plataformas com suporte para .NET Core (Windows, Linux e macOS). No entanto, para alguns exemplos curtos e ilustrativos, é mostrado apenas um exemplo que usa nomes de arquivo e extensões do Windows (ou seja, "dll" para bibliotecas). Isso não significa que esses recursos não estejam disponíveis no Linux ou no macOS, isso foi feito apenas por conveniência.

Consulte também