Windows Runtime-onderdelen maken met C#/WinRT

Notitie

Het ontwerpen van Windows Runtime onderdelen met C#/WinRT wordt ondersteund op .NET 6 en hoger.

Het C#/WinRT NuGet-pakket biedt ondersteuning voor het ontwerpen van uw eigen Windows Runtime typen en onderdelen in C#, en het gebruiken van deze vanuit elke Windows Runtime compatibele taal, zoals C++/WinRT of Rust. C#/WinRT-ontwerp- en hostingondersteuning vereist .NET 6 of hoger en Visual Studio 2022 of hoger en is bedoeld om bureaubladtoepassingsscenario's te ondersteunen, waaronder de Windows App SDK en WinUI3.

Zie Walkthrough: Een C#/WinRT-onderdeel maken en gebruiken vanuit C++/WinRT voor een stapsgewijze uitleg over hoe u een Windows Runtime-onderdeel kunt maken met .NET 6 of hoger en hoe u het kunt gebruiken vanuit een C++/WinRT consoletoepassing.

Raadpleeg de C#/WinRT GitHub-repo en Authoring C#/WinRT Components voor meer details en om problemen te zoeken of in te dienen.

Typen declareren in Windows Runtime onderdelen

Tijdens het ontwerpen van uw Windows Runtime-onderdeel volgt u de richtlijnen en typebeperkingen die worden beschreven in de bestaande UWP-documentatie over Windows Runtime onderdelen (zie Windows Runtime-onderdelen met C# en Visual Basic). Het onderdeel kan voor het grootste deel worden geïmplementeerd zoals elke andere C#-bibliotheek. Er zijn echter beperkingen op de openbare typen in het onderdeel die aan de Windows Runtime worden blootgesteld en in de gegenereerde .winmd worden gedeclareerd voor gebruik door anderen.

Extern kunt u alleen Windows Runtime typen weergeven voor parameters en retourwaarden. U kunt ingebouwde C#-typen gebruiken als onderdeel van het openbare oppervlak van het onderdeel, zolang er een toewijzing is van het .NET type aan WinRT (zie .NET toewijzingen van WinRT-typen in C#/WinRT) en ze worden weergegeven voor gebruikers van het onderdeel als de bijbehorende Windows Runtime typen. Windows Runtime typen van andere Windows Runtime-onderdelen en de Windows SDK kunnen ook worden gebruikt als onderdeel van de openbare implementatie van het onderdeel, zoals in parameters, retourtypen en overname van klassen.

Notitie

Er zijn enkele Windows Runtime typen die zijn toegewezen aan .NET typen (zie .NET toewijzingen van WinRT-typen in C#/WinRT). Deze .NET typen kunnen worden gebruikt in de openbare interface van uw Windows Runtime-onderdeel en ze worden weergegeven voor gebruikers van het onderdeel als de bijbehorende Windows Runtime typen.