Condividi tramite


ActivatorUtilities.CreateInstance richiede un provider non null

I due metodi ActivatorUtilities.CreateInstance generano ora un'eccezione ArgumentNullException se il parametro provider è null.

Versione introdotta

.NET 8 Anteprima 1

Comportamento precedente

Era consentito un valore null per il parametro provider. In alcuni casi, il tipo specificato veniva comunque creato correttamente.

Nuovo comportamento

Se provider è null, viene generata un'eccezione ArgumentNullException.

Tipo di modifica di rilievo

Questa è una modifica funzionale.

Motivo della modifica

È stata corretta la convalida dei parametri insieme ai problemi di corrispondenza del costruttore in linea con lo scopo previsto di CreateInstance. I metodi CreateInstance() hanno un parametro provider che non ammette i valori null, quindi in genere era previsto che un provider null non fosse consentito.

Passare un valore IServiceProvider non null per l'argomento provider. Se il provider implementa anche IServiceProviderIsService, gli argomenti del costruttore possono essere ottenuti tramite tale argomento.

In alternativa, se lo scenario non richiede l'inserimento delle dipendenze, poiché IServiceProvider è null, usare invece Activator.CreateInstance.

API interessate

Vedi anche