次の方法で共有


C#/WinRT を使用して Windows ランタイム コンポーネントを作成する

C#/WinRT を使用した Windows ランタイム コンポーネントの作成は、.NET 6 以降でサポートされています。

C#/WinRT NuGet パッケージは、独自の Windows ランタイム型とコンポーネントを C# で作成し、 C++/WinRTRust などの Windows ランタイム互換言語から使用するためのサポートを提供します。 C#/WinRT の作成とホスティングのサポートには .NET 6 と Visual Studio 2026 が必要であり、 Windows App SDKWinUI3 などのデスクトップ アプリケーション シナリオをサポートすることを目的としています。

.NET 6 を使用して Windows ランタイム コンポーネントを作成する方法と、C++/WinRT コンソール アプリケーションから使用する方法を示すチュートリアルについては、「 チュートリアル: C#/WinRT コンポーネントを作成し、C++/WinRT から使用する」を参照してください。

詳細については、問題を検索またはファイルするには、 C#/WinRT Github リポジトリC#/WinRT コンポーネントの作成を参照してください。

Windows ランタイム コンポーネントでの型の宣言

Windows ランタイム コンポーネントを作成する際は、Windows ランタイム コンポーネントに関する既存の UWP ドキュメントに記載されているガイドラインと型制限に従ってください ( C# および Visual Basic を使用した Windows ランタイム コンポーネントを参照)。 コンポーネントは、ほとんどの場合、他の C# ライブラリと同様に実装できます。 ただし、コンポーネント内のパブリック型には、Windows ランタイムに公開され、生成された .winmd で他のユーザーが使用できるように宣言される制限があります。

外部では、パラメーターと戻り値に対して Windows ランタイム型のみを公開できます。 組み込みの C# 型は、.NET 型から WinRT へのマッピングがある限り( C#/WinRT の WinRT 型の .NET マッピングを参照)、コンポーネントのユーザーに対応する Windows ランタイム型として表示される限り、コンポーネントのパブリック サーフェスの一部として使用できます。 他の Windows ランタイム コンポーネントと Windows SDK の Windows ランタイム型は、 in パラメーター、戻り値の型、クラスの継承など、コンポーネントのパブリック実装の一部としても使用できます。

.NET 型にマップされる Windows ランタイム型がいくつかあります ( C#/WinRT での WinRT 型の .NET マッピングを参照)。 これらの .NET 型は、Windows ランタイム コンポーネントのパブリック インターフェイスで使用でき、対応する Windows ランタイム型としてコンポーネントのユーザーに表示されます。