Sdílet prostřednictvím


EnumConverter ověřuje registrované typy jako výčtu.

EnumConverter je převaděč typů, který se převádí na typ a z typu enum . EnumConverter teď ověřuje, že typ, který se má zaregistrovat, je typu enum .

Předchozí chování

Dříve se typ, který se má zaregistrovat, nebyl ověřen jako enum typ.

Nové chování

Počínaje rozhraním .NET 9 vyvolá ArgumentException výjimku, pokud typ, který chcete převést, EnumConverter není typemenum. Všechny odvozené třídy EnumConverter by měly tento požadavek respektovat.

Zavedená verze

.NET 9 Preview 7

Typ zásadní změny

Tato změna je změna chování.

Důvod změny

Je logické vynucovat požadavek, který EnumConverter se používá pouze k převodu na typy a z enum typů. Pravděpodobně byl dohled nad tím, že tento požadavek nebyl přidán dříve.

Primárním faktorem této změny však bylo oříznutí. Oříznutí nestříhá enum typy, ale používá se EnumConverter u enum typů požadovaných DynamicallyAccessedMembersAttribute poznámek k enum typu. To znamená, že použití vygeneruje EnumConverter zbytečné upozornění na oříznutí. Nedávná změna odebrala požadavek na poznámku. Součástí důvodu této změny bylo vynucování, které EnumConverter se používá pouze s enums.

Neexistuje žádné jednoduché alternativní řešení, pokud EnumConverter se používá k převodu na a z jinéhoenum typu.

Ovlivněná rozhraní API