Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tyto dvě ActivatorUtilities.CreateInstance metody nyní vyvolávají ArgumentNullException výjimku, pokud je parametr providernull.
Verze byla představena
.NET 8 Preview 1
Předchozí chování
Pro null parametr byla povolena provider hodnota. V některých případech byl zadaný typ stále správně vytvořen.
Nové chování
Pokud je providernull, je vyvolána výjimka ArgumentNullException.
Typ zásadní změny
Tato změna je změna chování.
Důvod změny
Opravili jsme ověřování parametrů spolu s problémy s přiřazením konstruktoru, aby byly v souladu se zamýšleným účelem CreateInstance. Metody CreateInstance() mají nenulový provider parametr, takže se obecně očekávalo, že null zprostředkovatel nebyl povolen.
Doporučená akce
Proveďte předání nenulové hodnoty pro argument IServiceProviderprovider. Pokud zprostředkovatel také implementuje IServiceProviderIsService, lze prostřednictvím toho získat argumenty konstruktoru.
Alternativně, pokud váš scénář nevyžaduje injektáž závislostí, protože IServiceProvider je null, použijte místo toho Activator.CreateInstance.
Ovlivněná rozhraní API
- Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance<T>(IServiceProvider, Object[])
- Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance(IServiceProvider, Type, Object[])