Menulis komponen Windows Runtime dengan C#/WinRT

Catatan

Penulisan komponen Windows Runtime dengan C#/WinRT didukung pada .NET 6 dan yang lebih baru.

Paket C#/WinRT NuGet menyediakan dukungan untuk menulis jenis dan komponen Windows Runtime Anda sendiri di C#, dan mengonsumsinya dari bahasa yang kompatibel dengan Windows Runtime seperti C++/WinRT atau Rust. Dukungan penulisan dan hosting C#/WinRT memerlukan .NET 6 dan Visual Studio 2022, dan dimaksudkan untuk mendukung skenario aplikasi desktop termasuk SDK Aplikasi Windows, dan WinUI3.

Untuk panduan yang menunjukkan cara menulis komponen Windows Runtime dengan .NET 6, dan cara menggunakannya dari aplikasi konsol C++/WinRT, lihat Panduan: Membuat komponen C#/WinRT dan menggunakannya dari C++/WinRT.

Untuk detail selengkapnya, dan untuk mencari atau mengajukan masalah apa pun, lihat Komponen C#/WinRT Github danPenulisan C#/WinRT.

Mendeklarasikan jenis dalam komponen Windows Runtime

Saat menulis komponen Windows Runtime Anda, ikuti panduan dan batasan jenis yang diuraikan dalam dokumentasi UWP yang ada tentang komponen Windows Runtime (lihat komponen Windows Runtime dengan C# dan Visual Basic). Komponen dapat sebagian besar diimplementasikan seperti pustaka C# lainnya. Namun, ada batasan pada jenis publik dalam komponen yang akan diekspos ke Windows Runtime dan dinyatakan dalam yang dihasilkan .winmd untuk dikonsumsi orang lain.

Secara eksternal, Anda hanya dapat mengekspos jenis Windows Runtime untuk parameter dan mengembalikan nilai. Anda dapat menggunakan jenis C# bawaan sebagai bagian dari permukaan publik komponen selama ada pemetaan dari jenis .NET ke WinRT (lihat pemetaan .NET jenis WinRT di C#/WinRT), dan mereka akan muncul kepada pengguna komponen sebagai jenis Windows Runtime yang sesuai. Jenis Windows Runtime dari komponen Windows Runtime lainnya dan Windows SDK juga dapat digunakan sebagai bagian dari implementasi publik komponen, seperti in parameter, jenis pengembalian, dan pewarisan kelas.

Catatan

Ada beberapa jenis Windows Runtime yang dipetakan ke jenis .NET (lihat pemetaan .NET dari jenis WinRT di C#/WinRT). Jenis .NET ini dapat digunakan dalam antarmuka publik komponen Windows Runtime Anda, dan jenis tersebut akan muncul kepada pengguna komponen sebagai jenis Windows Runtime yang sesuai.