使用 C#/WinRT 创作 Windows 运行时组件
注意
.NET 6 及更高版本支持使用 C#/WinRT 创作Windows 运行时组件。
C#/WinRT NuGet 包支持在 C# 中创作自己的Windows 运行时类型和组件,并从任何兼容Windows 运行时的语言(如 C++/WinRT 或 Rust)中使用它们。 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 运行时组件 (Windows 运行时组件以及Visual Basic) 的准则和类型限制。 该组件最多可以像任何其他 C# 库一样实现。 但是,组件中的公共类型存在限制,这些类型将公开给Windows 运行时,并在生成的.winmd
中声明供其他人使用。
在外部,只能公开参数和返回值的Windows 运行时类型。 只要有从 .NET 类型到 WinRT 的映射,即可将内置 C# 类型用作组件公共图面的一部分,只要有从 .NET 类型到 WinRT (的映射,就会看到 C#/WinRT) 中的 WinRT 类型的 .NET 映射,组件的用户将显示为相应的Windows 运行时类型。 来自其他Windows 运行时组件和Windows SDK 的Windows 运行时类型还可以用作组件的公共实现的一部分,例如in
参数、返回类型和类继承。
注意
有一些映射到 .NET 类型的Windows 运行时类型, (请参阅 C#/WinRT) 中的 WinRT 类型的 .NET 映射。 这些 .NET 类型可以在Windows 运行时组件的公共接口中使用,这些类型将显示给组件的用户作为相应的Windows 运行时类型。