Partage via


ActivatorUtilities.CreateInstance nécessite un fournisseur non nul

Les deux méthodes ActivatorUtilities.CreateInstance lèvent maintenant une exception ArgumentNullException si le paramètre provider est null.

Version introduite

.NET 8 Preview 1

Comportement précédent

Une valeur null a été autorisée pour le paramètre provider. Dans certains cas, le type spécifié était toujours correctement créé.

Nouveau comportement

Quand provider est null, une exception ArgumentNullException est levée.

Type de changement cassant

Ce changement est un changement de comportement.

Raison du changement

Nous avons résolu des problèmes de validation des paramètres ainsi que des problèmes de correspondance de constructeurs pour nous aligner sur l’objectif prévu de CreateInstance. Les méthodes CreateInstance() ayant un paramètre non nullable provider, il arrivait très souvent qu’un fournisseur null ne soit pas autorisé.

Transmettez une valeur non nulle IServiceProvider pour l’argument provider. Si le fournisseur implémente également IServiceProviderIsService, les arguments du constructeur peuvent être obtenus par ce biais.

Sinon, si votre scénario ne nécessite pas d’injection de dépendances, puisque IServiceProvider est null, utilisez Activator.CreateInstance à la place.

API affectées

Voir aussi