Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
EnumConverter é um conversor de tipo que converte de e para um enum tipo. EnumConverter agora valida que o tipo a ser registrado é de um enum tipo.
Comportamento anterior
Anteriormente, o tipo a ser registrado não era validado para ser um enum tipo.
Novo comportamento
A partir do .NET 9, EnumConverter gera um ArgumentException if o tipo a ser convertido não for um enum tipo. Quaisquer classes derivadas de EnumConverter também devem respeitar este requisito.
Versão introduzida
.NET 9 versão prévia 7
Tipo de alteração interruptiva
Esta é uma alteração comportamental.
Motivo da alteração
É lógico impor o requisito que EnumConverter deve ser usado para converter apenas de e para enum tipos. Provavelmente foi um descuido que esse requisito não tenha sido adicionado anteriormente.
No entanto, o principal fator determinante para essa mudança foi para fins de corte.
O corte não corta enum tipos, mas o uso EnumConverter de tipos for enum é a anotação necessária DynamicallyAccessedMembersAttribute para um enum tipo. Isso significa que o uso EnumConverter gera avisos de corte desnecessários. Uma alteração recente removeu o requisito de anotação. Parte do motivo dessa mudança foi impor que EnumConverter isso só seja usado com enums.
Ação recomendada
Não há uma solução alternativa fácil se an EnumConverter for usado para converter de e para um não-tipoenum .
APIs afetadas
- Construtor EnumConverter(Type)