Menulis komponen Windows Runtime dengan C#/WinRT

Catatan

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

Paket C#/WinRT NuGet menyediakan dukungan untuk menulis jenis dan komponen Runtime Windows Anda sendiri di C#, dan mengonsumsinya dari bahasa Windows yang kompatibel dengan 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 C#/WinRT Github repositori dan Penulisan Komponen C#/WinRT.

Mendeklarasikan jenis dalam komponen runtime Windows

Saat menulis komponen Windows Runtime Anda, ikuti panduan dan batasan jenis yang diuraikan dalam dokumentasi UWP yang ada tentang komponen runtime Windows (lihat komponen runtime Windows 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 Windows jenis 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. Windows Jenis runtime dari komponen Windows Runtime lainnya dan SDK Windows 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 jenis WinRT di C#/WinRT). Jenis .NET ini dapat digunakan di antarmuka publik komponen Windows Runtime Anda, dan jenis tersebut akan muncul kepada pengguna komponen sebagai jenis Windows Runtime yang sesuai.