EnumConverter valida los tipos registrados que se van a enumerar.
EnumConverter es un convertidor de tipos que convierte a y desde un enum
tipo. EnumConverter ahora valida que el tipo que se va a registrar es de un enum
tipo.
Comportamiento anterior
Anteriormente, el tipo que se va a registrar no se validó para ser un enum
tipo.
Comportamiento nuevo
A partir de .NET 9, EnumConverter produce un ArgumentException si el tipo que se va a convertir no es un enum
tipo. Las clases derivadas de EnumConverter también deben respetar este requisito.
Versión introducida
.NET 9 (versión preliminar 7)
Tipo de cambio importante
Este es un cambio de funcionamiento.
Motivo del cambio
Es lógico aplicar el requisito que EnumConverter se usa para convertir solo a y desde enum
tipos. Probablemente fue una supervisión de que este requisito no se agregó anteriormente.
Sin embargo, el factor de conducción principal para este cambio era para fines de recorte. El recorte no recorta enum
los tipos, pero se usa EnumConverter para enum
los tipos necesarios DynamicallyAccessedMembersAttribute para un enum
tipo. Esto significa que el uso EnumConverter
de genera advertencias de recorte innecesarias. Un cambio reciente quitó el requisito de anotación. Parte del motivo de ese cambio era exigir que EnumConverter
solo se usara con enums
.
Acción recomendada
No hay ninguna solución fácil si EnumConverter se usa para convertir a y desde un tipo que noenum
es de tipo .
API afectadas
- Constructor EnumConverter(Type)