次の記事では、.NET で "ネイティブ相互運用性" を行うさまざまな方法を示します。
ネイティブ コードを呼び出す理由がいくつかあります。
- オペレーティング システムには、マネージド クラス ライブラリに存在しない大量の API が付属しています。 このシナリオの主な例は、ハードウェアまたはオペレーティング システム管理機能へのアクセスです。
- Java ネイティブ インターフェイス (JNI) またはネイティブ コンポーネントを生成できる他のマネージド言語を介して公開される Java コードなど、C スタイルの AVI (ネイティブ AVI) を持つ、または生成できる他のコンポーネントとの通信。
- Windows では、Microsoft Office スイートなど、インストールされるソフトウェアのほとんどは、プログラムを表す COM コンポーネントを登録し、開発者がそれらを自動化したり、使用したりできるようにします。 これには、ネイティブな相互運用性も必要です。
前の一覧では、開発者がネイティブ コンポーネントとのインターフェイスを必要とする、または必要とする可能性のあるすべての状況とシナリオについては説明していません。 たとえば、.NET クラス ライブラリでは、ネイティブ相互運用性のサポートを使用して、コンソールのサポートや操作、ファイル システムアクセスなど、かなりの数の API を実装します。 ただし、必要に応じてオプションがあることに注意してください。
注
このセクションの例のほとんどは、.NET Core (Windows、Linux、macOS) でサポートされている 3 つのプラットフォームすべてについて説明します。 ただし、いくつかの短い例と説明的な例では、Windows のファイル名と拡張子 (つまり、ライブラリの場合は "dll") を使用するサンプルが 1 つだけ示されています。 これは、これらの機能が Linux または macOS で使用できないことを意味するわけではありません。これは、便宜上のためだけに行われました。
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET