Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Gli articoli seguenti illustrano i vari modi per eseguire l'interoperabilità nativa in .NET.
Esistono alcuni motivi per cui si vuole chiamare il codice nativo:
- I sistemi operativi sono dotati di un volume elevato di API che non sono presenti nelle librerie di classi gestite. Un esempio principale per questo scenario è l'accesso alle funzioni di gestione hardware o del sistema operativo.
- Comunicazione con altri componenti che hanno o possono produrre ABI di tipo C (ABI native), ad esempio codice Java esposto tramite Java Native Interface (JNI) o qualsiasi altro linguaggio gestito che potrebbe produrre un componente nativo.
- In Windows, la maggior parte del software che viene installato, ad esempio la famiglia di prodotti Microsoft Office, registra i componenti COM che rappresentano i programmi e consente agli sviluppatori di automatizzarli o usarli. Ciò richiede anche l'interoperabilità nativa.
L'elenco precedente non copre tutte le potenziali situazioni e scenari in cui lo sviluppatore vuole/vuole/vuole/deve interfacciarsi con i componenti nativi. La libreria di classi .NET, ad esempio, usa il supporto per l'interoperabilità nativa per implementare un numero equo di API, ad esempio il supporto e la manipolazione della console, l'accesso al file system e altri. Tuttavia, è importante notare che è disponibile un'opzione, se necessario.
Annotazioni
La maggior parte degli esempi di questa sezione verrà presentata per tutte e tre le piattaforme supportate per .NET Core (Windows, Linux e macOS). Tuttavia, per alcuni esempi brevi e illustrativi, viene mostrato un solo esempio che usa i nomi file e le estensioni di Windows ( ovvero "dll" per le librerie). Ciò non significa che queste funzionalità non sono disponibili in Linux o macOS, ma solo per praticità.