Dela via


ActivatorUtilities.CreateInstance kräver icke-null-provider

De två ActivatorUtilities.CreateInstance metoderna utlöser nu ett ArgumentNullException undantag om parametern provider är null.

Version introducerad

Förhandsversion 1 av .NET 8

Tidigare beteende

Ett null värde tilläts för parametern provider . I vissa fall skapades den angivna typen fortfarande korrekt.

Nytt beteende

När provider är nullgenereras ett ArgumentNullException undantag.

Typ av icke-bakåtkompatibel ändring

Den här ändringen är en beteendeförändring.

Orsak till ändringen

Vi har korrigerat parameterverifieringen tillsammans med problem med konstruktormatchning för att överensstämma med det avsedda syftet med CreateInstance. Metoderna CreateInstance() har en parameter som inte kan null-värdet provider , så det förväntades vanligtvis att en null provider inte tilläts.

Skicka ett icke-null IServiceProvider för provider argumentet. Om providern även implementerar IServiceProviderIsServicekan konstruktorargument hämtas genom detta.

Du kan också använda om ditt scenario inte kräver beroendeinmatning, eftersom IServiceProvider är null, Activator.CreateInstance i stället.

Berörda API:er

Se även