使用 C#/WinRT 撰寫 Windows 執行階段元件

注意

.NET 6 和更新版本支援使用 C#/WinRT 撰寫 Windows 執行階段元件。

C#/WinRT NuGet 套件支援在 C# 中撰寫自己的 Windows 執行階段類型和元件,並從任何與 Windows 執行階段相容的語言取用它們,例如 C++/WinRTRust。 C#/WinRT 撰寫和裝載支援需要 .NET 6 和 Visual Studio 2022,而且旨在支援傳統型應用程式案例,包括 windows 應用程式 SDK,以及 WinUI3

如需如何使用 .NET 6 撰寫 Windows 執行階段元件,以及如何從 C++/WinRT 主控台應用程式取用它的逐步解說,請參閱逐步解說:建立 C#/WinRT 元件並從 C++/WinRT 取用它

如需詳細資訊,以及搜尋或提出任何問題,請參閱 C#/WinRT Github 存放庫撰寫 C#/WinRT 元件

在 Windows 執行階段元件中宣告類型

撰寫 Windows 執行階段元件時,請遵循現有 UWP 文件中有關 Windows 執行階段元件的指導方針和類型限制 (請參閱使用 C# 與 Visual Basic 的 Windows 階段階段元件)。 大部分的元件都可以像任何其他 C# 程式庫一樣實作。 不過,元件中將公開給 Windows 執行階段並在產生的 .winmd 中宣告供其他人取用的公用類型有一些限制。

在外部,您只能針對參數和傳回值公開 Windows 執行階段類型。 只要有從 .NET 類型到 WinRT 的對應,即可使用內建 C# 類型做為元件公用介面的一部分 (請參閱 C#/WinRT 中 WinRT 類型的 .NET 對應),而且將會對元件的使用者顯示為對應的 Windows 執行階段類型。 來自其他 Windows 執行階段元件和 Windows SDK 的 Windows 執行階段類型也可做為元件的公用實作的一部分使用,例如 in 參數、傳回類型和類別繼承。

注意

有些 Windows 執行階段類型會對應至 .NET 類型 (請參閱 C#/WinRT 中 WinRT 類型的 .NET 對應)。 這些 .NET 類型可用於 Windows 執行階段元件的公用介面,並且會對元件的使用者顯示為對應的 Windows 執行階段類型。