共用方式為


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

備註

.NET 6 及以上版本支援使用 C#/WinRT 撰寫 Windows 執行階段 元件。

C#/WinRT NuGet 套件支援在 C# 中撰寫您自己的 Windows 執行階段 類型和組件,並可從任何相容的 Windows 執行階段 語言(如 C++/WinRTRust)中使用。 C#/WinRT 的撰寫與主機支援需要 .NET 6 或更新版本,且 2022 Visual Studio 更新版本,旨在支援桌面應用場景,包括 Windows 應用程式 SDK 以及 WinUI3

若想了解如何用 .NET 6 或更新版本撰寫 Windows 執行階段 元件,以及如何從 C++/WinRT 控制台應用程式中取用,請參見 攻略:建立 C#/WinRT 元件並從 C++/WinRT

欲了解更多細節,並搜尋或提交任何問題,請參閱 C#/WinRT GitHub repo 以及 Authoring C#/WinRT Components

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

在撰寫 Windows 執行階段 元件時,請遵循現有 UWP 文件中關於Windows 執行階段元件的指引與類型限制(參見 Windows 執行階段 元件,採用 C# 和 Visual Basic)。 這個元件大致上可以像其他 C# 函式庫一樣實作。 然而,元件中公開的型別有一些限制,將會被暴露於 Windows 執行階段 並在產生的 .winmd 中宣告,供他人使用。

外部則可僅開放 Windows 執行階段 參數與回傳值類型。 只要 .NET 類型對應到 WinRT(參見 .NET C#/WinRT 中的 WinRT 類型映射),你可以將內建的 C# 類型作為元件公開表面的一部分,且元件使用者會以對應的 Windows 執行階段 類型顯示。 來自其他Windows 執行階段元件的Windows 執行階段型別以及 Windows SDK 也可以作為元件公開實作的一部分使用,例如 in 參數、返回型別和類別繼承。

備註

有些Windows 執行階段類型會映射到.NET類型(參見 .NET C#/WinRT 中的 WinRT 類型映射)。 這些 .NET 類型可以在你的 Windows 執行階段 元件的公開介面中使用,並且對使用者來說,它們會顯示為對應的 Windows 執行階段 類型。