Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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.
Rekommenderad åtgärd
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
- Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance<T>(IServiceProvider, Object[])
 - Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance(IServiceProvider, Type, Object[])