EnumConverter valide les types inscrits pour qu’ils soient enum
EnumConverter est un convertisseur de type qui convertit en et à partir d’un enum
type. EnumConverter valide maintenant que le type à inscrire est d’un enum
type.
Comportement précédent
Auparavant, le type à inscrire n’a pas été validé pour être un enum
type.
Nouveau comportement
À compter de .NET 9, EnumConverter lève une ArgumentException valeur si le type à convertir n’est pas un enum
type. Toutes les classes dérivées de EnumConverter doivent également respecter cette exigence.
Version introduite
.NET 9 Préversion 7
Type de changement cassant
Ce changement est un changement de comportement.
Raison du changement
Il est logique d’appliquer la condition à EnumConverter utiliser pour effectuer la conversion en et à partir de enum
types uniquement. Il était probable que cette exigence n’ait pas été ajoutée précédemment.
Toutefois, le principal facteur moteur de ce changement était à des fins de découpage. Le découpage ne supprime pas les types, mais utilise EnumConverter pour enum
les types requis DynamicallyAccessedMembersAttribute l’annotation d’un enum
enum
type. Cela signifie que l’utilisation EnumConverter
génère des avertissements de découpage inutiles. Une modification récente a supprimé l’exigence d’annotation. Une partie de la raison de cette modification était d’appliquer ce qui EnumConverter
ne doit être utilisé que avec enums
.
Action recommandée
Il n’existe aucune solution de contournement facile si une EnumConverter méthode est utilisée pour effectuer une conversion vers et à partir d’un type différentenum
.
API affectées
- Constructeur EnumConverter(Type)