Vytváření komponent prostředí Windows Runtime pomocí C#/WinRT

Poznámka:

Vytváření komponent prostředí Windows Runtime pomocí C#/WinRT je podporováno v .NET 6 a novějších verzích.

Balíček NuGet C#/WinRT poskytuje podporu pro vytváření vlastních typů a komponent prostředí Windows Runtime v jazyce C# a jejich využívání z libovolného jazyka kompatibilního s prostředí Windows Runtime, jako je C++/WinRT nebo Rust. Podpora vytváření a hostování C#/WinRT vyžaduje .NET 6 nebo novější a Visual Studio 2022 nebo novější a má podporovat scénáře desktopových aplikací, včetně Windows App SDK a WinUI3.

Návod, jak vytvořit komponentu prostředí Windows Runtime pomocí .NET 6 nebo novější a jak ji využívat z konzolové aplikace C++/WinRT, najdete v tématu Walkthrough: Vytvoření komponenty C#/WinRT a jeho využití z C++/WinRT.

Další podrobnosti a případné problémy najdete v úložišti C#/WinRT GitHub a Authoring C#/WinRT Components.

Deklarování typů v komponentách prostředí Windows Runtime

Při vytváření komponenty prostředí Windows Runtime postupujte podle pokynů a omezení typů popsaných v existující dokumentaci k upW o komponentách prostředí Windows Runtime (viz prostředí Windows Runtime komponenty v jazyce C# a Visual Basic). Komponentu je možné většinu implementovat stejně jako jakoukoli jinou knihovnu jazyka C#. Jsou však omezení pro veřejné typy v komponentě, které budou zpřístupněny prostředí prostředí Windows Runtime a deklarovány ve vygenerovaném .winmd, aby je ostatní mohli využívat.

Externě můžete zpřístupnit pouze prostředí Windows Runtime typy parametrů a návratových hodnot. Předdefinované typy jazyka C# můžete použít jako součást veřejného povrchu komponenty, pokud existuje mapování z typu .NET na WinRT (viz .NET mapování typů WinRT v jazyce C#/WinRT) a zobrazí se uživatelům komponenty jako odpovídající typy prostředí Windows Runtime. prostředí Windows Runtime typy z jiných komponent prostředí Windows Runtime a sady Windows SDK lze také použít jako součást veřejné implementace komponenty, jako jsou parametry in, návratové typy a dědičnost tříd.

Poznámka:

Některé typy prostředí Windows Runtime mapované na typy .NET (viz .NET mapování typů WinRT v C#/WinRT). Tyto .NET typy lze použít ve veřejném rozhraní vaší komponenty prostředí Windows Runtime a zobrazí se uživatelům komponenty jako odpovídající typy prostředí Windows Runtime.