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 lanserad

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 brytande ändring

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

Orsak till ändring

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 vara null provider, så förväntades det vanligtvis att en null-leverantör inte var tillåten.

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

Alternativt, om ditt scenario inte kräver beroendeinjektion och eftersom IServiceProvider är null, använd Activator.CreateInstance i stället.

Berörda API:er

Se även