EnumConverter convalida i tipi registrati da enumerare
EnumConverter è un convertitore di tipi che esegue la conversione in e da un enum
tipo. EnumConverter convalida ora che il tipo da registrare è di un enum
tipo.
Comportamento precedente
In precedenza, il tipo da registrare non è stato convalidato come enum
tipo.
Nuovo comportamento
A partire da .NET 9, EnumConverter genera un'eccezione ArgumentException se il tipo da convertire non è un enum
tipo. Anche le classi derivate di EnumConverter devono rispettare questo requisito.
Versione introdotta
.NET 9 Anteprima 7
Tipo di modifica che causa un'interruzione
Questa è una modifica funzionale.
Motivo della modifica
È logico applicare il requisito usato EnumConverter per eseguire la conversione solo in e da enum
tipi. È probabile che questo requisito non sia stato aggiunto in precedenza.
Tuttavia, il fattore di guida principale per questa modifica è stato per scopi di taglio. Trimming non taglia enum
i tipi, ma usa EnumConverter per enum
i tipi necessari DynamicallyAccessedMembersAttribute annotazioni per un enum
tipo. Ciò significa che l'uso EnumConverter
di genera avvisi di taglio non necessari. Una modifica recente ha rimosso il requisito di annotazione. Parte del motivo di tale modifica era imporre che EnumConverter
venga usato solo con enums
.
Azione consigliata
Non esiste una soluzione alternativa semplice se EnumConverter un oggetto viene usato per eseguire la conversione da e verso un tipo diversoenum
da .
API interessate
- Costruttore EnumConverter(Type)