EnumConverter valideert geregistreerde typen die moeten worden opgesomd
EnumConverter is een typeconversieprogramma dat wordt geconverteerd naar en van een enum
type. EnumConverter valideert nu dat het te registreren type van een enum
type is.
Vorig gedrag
Voorheen werd het type dat moet worden geregistreerd, niet gevalideerd als een enum
type.
Nieuw gedrag
Vanaf .NET 9 EnumConverter genereert u een ArgumentException als het type dat moet worden geconverteerd geen enum
type is. Alle afgeleide klassen van EnumConverter moeten ook aan deze vereiste voldoen.
Versie geïntroduceerd
.NET 9 Preview 7
Type wijziging die fouten veroorzaken
Deze wijziging is een gedragswijziging.
Reden voor wijziging
Het is logisch om de vereiste af te dwingen die EnumConverter alleen wordt gebruikt om te converteren naar en van enum
typen. Het was waarschijnlijk een overzicht dat deze vereiste niet eerder is toegevoegd.
De primaire factor voor deze wijziging was echter voor bijsnijdende doeleinden. Bijsnijden trimt geen typenenum
, maar gebruikt EnumConverter voor enum
typen vereiste DynamicallyAccessedMembersAttribute aantekening voor een enum
type. Dit betekent dat het gebruik EnumConverter
van onnodige trimwaarschuwingen genereert. Een recente wijziging heeft de aantekeningsvereiste verwijderd. Een deel van de reden voor die wijziging was om af te dwingen dat EnumConverter
alleen wordt gebruikt met enums
.
Aanbevolen actie
Er is geen eenvoudige tijdelijke oplossing als een EnumConverter wordt gebruikt om te converteren naar en van een niet-typeenum
.
Betrokken API's
- EnumConverter(Type) bouwer