Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
FromKeyedServicesAttribute.Key telah diubah dari object non-nullable ke object? nullable untuk mendukung nilai null pada layanan tanpa kunci dan skenario pewarisan.
Versi yang diperkenalkan
.NET 8
Perilaku sebelumnya
Sebelumnya, FromKeyedServicesAttribute.Key dinyatakan sebagai non-nullable object:
public object Key { get; }
Perilaku baru
Mulai dari .NET 8, FromKeyedServicesAttribute.Key sekarang dinyatakan sebagai nullable object?:
public object? Key { get; }
Nilai null menunjukkan tidak ada kunci dan hanya jenis parameter yang digunakan untuk menyelesaikan layanan. Ini berguna untuk implementasi dependency injection yang memerlukan cara eksplisit untuk menyatakan bahwa parameter harus ditentukan untuk layanan tanpa kunci. Nilai null juga digunakan dengan skenario pewarisan untuk menunjukkan bahwa kunci harus diwariskan dari cakupan induk.
Jenis perubahan yang memutus kompatibilitas
Perubahan ini dapat memengaruhi kompatibilitas sumber.
Alasan perubahan
Dukungan ditambahkan untuk layanan berpenanda kunci, memungkinkan parameter di-anotasi sebagai tidak berpenanda kunci. Perubahan ini memungkinkan pengembang untuk secara eksplisit menunjukkan kapan parameter harus diselesaikan tanpa kunci, yang sangat berguna dalam skenario di mana layanan kunci dan yang tidak di-kunci terdaftar untuk jenis yang sama.
Tindakan yang direkomendasikan
Sesuaikan kode apa pun yang menggunakan FromKeyedServicesAttribute.Key untuk menangani null nilai.