Compartir vía


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.

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