Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
İki ActivatorUtilities.CreateInstance yöntem, ArgumentNullException parametresi provider ise artık bir null özel durum çıkarır.
Sürüm kullanıma sunulmuştur
.NET 8 Preview 1
Önceki davranış
null Parametresi için bir değere provider izin verildi. Bazı durumlarda, belirtilen tür yine de doğru şekilde oluşturulmuştur.
Yeni davranış
provider
null olduğunda bir ArgumentNullException özel durum atılır.
Kesinti yaratan değişiklik türü
Bu değişiklik davranışsal bir değişikliktir.
Değişiklik nedeni
Oluşturucu eşleştirme sorunları ile birlikte parametre doğrulaması, CreateInstance'in hedeflenen amacına uygun olacak şekilde düzeltildi. Yöntemlerin CreateInstance() null atanamaz provider bir parametresi olduğundan, bir null sağlayıcıya izin verilmemesi doğal olarak beklenirdi.
Önerilen eylem
IServiceProvider bağımsız değişkeni için null olmayan bir provider değeri geçirin. Sağlayıcı da uygularsa IServiceProviderIsService, oluşturucu bağımsız değişkenleri bu yolla elde edilebilir.
Alternatif olarak, senaryonuz bağımlılık ekleme gerektirmiyorsa, IServiceProvidernull olduğu için Activator.CreateInstance yerine kullanın.
Etkilenen API'ler
- Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance<T>(IServiceProvider, Object[])
- Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance(IServiceProvider, Type, Object[])