ActivatorUtilities.CreateInstance vyžaduje jiného poskytovatele než null.

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.

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

Viz také