Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
System.Reflection.Emit.ConstructorBuilder et System.Reflection.Emit.MethodBuilder maintenant générer des paramètres de méthode qui, lorsqu’ils sont réfléchis, ont ParameterInfo.HasDefaultValue défini sur false.
Comportement précédent
Précédemment, ConstructorBuilder et MethodBuilder généré il pour les paramètres de méthode où les HasDefaultValue paramètres ont été définis truesur .
Nouveau comportement
À compter de .NET 8, ConstructorBuilder et MethodBuilder générez l’il pour les paramètres de méthode où les HasDefaultValue paramètres sont définis falsesur , qui est la valeur attendue.
Version introduite
.NET 8 Preview 5
Type de changement cassant
Ce changement est un changement de comportement.
Raison de la modification
Le comportement précédent était incorrect, car aucune valeur de paramètre par défaut n’a été spécifiée lorsque la méthode ou le constructeur a été défini.
Action recommandée
Si vous utilisez TypeBuilder.DefineConstructor ou TypeBuilder.DefineMethod, assurez-vous que les consommateurs des méthodes des types générés ne s’appuient pas sur la ParameterInfo.HasDefaultValue propriété en cours true.