ActivatorUtilities.CreateInstance requiere un proveedor que no sea NULL.

Los dos métodos ActivatorUtilities.CreateInstance inician ahora una excepción ArgumentNullException si el parámetro provider es null.

Versión introducida

.NET 8 Preview 1

Comportamiento anterior

Se permitió un valor null para el parámetro provider. En algunos casos, el tipo especificado se ha creado correctamente.

Comportamiento nuevo

Cuando provider es null, se genera una excepción ArgumentNullException.

Tipo de cambio importante

Este es un cambio de comportamiento.

Motivo del cambio

Hemos corregido la validación de parámetros junto con problemas de coincidencia de constructores para alinearnos con el propósito previsto de CreateInstance. Los métodos CreateInstance() tienen un parámetro provider que no acepta valores NULL, por lo que en general se esperaba que no se permitiera un proveedor null.

Pase un valor IServiceProvider distinto de NULL para el argumento provider. Si el proveedor también implementa IServiceProviderIsService, los argumentos de constructor se pueden obtener a través de ello.

Como alternativa, si el escenario no requiere inserción de dependencias, ya que IServiceProvider es null, use Activator.CreateInstance en su lugar.

API afectadas

Consulte también