EnumConverter は、 enum
型との間で変換する型コンバーターです。 EnumConverter は、登録する型が enum
型であることを検証するようになりました。
以前の動作
以前は、登録する型が enum
型であることが検証されませんでした。
新しい動作
.NET 9 以降では、変換する型がEnumConverter型でない場合、ArgumentExceptionはenum
をスローします。
EnumConverterの派生クラスでも、この要件を考慮する必要があります。
導入されたバージョン
.NET 9 Preview 7
破壊的変更の種類
この変更は、動作変更です。
変更理由
EnumConverter型との間の変換にのみ使用enum
要件を適用することは論理的です。 この要件が以前に追加されなかったのは、おそらく見落としでした。
ただし、この変更の主な要因はトリミングの目的でした。
トリミングはenum
型をトリミングしませんが、EnumConverter型にenum
を使用するには、DynamicallyAccessedMembersAttribute型enum
注釈が必要です。 つまり、 EnumConverter
を使用すると、不要なトリミング警告が生成されます。 最近の変更により、注釈の要件が削除されました。 その変更の理由の一部は、EnumConverter
enums
でのみ使用されるように強制するためです。
推奨される操作
EnumConverterを使用してenum
以外の型との間で変換を行う場合、簡単な回避策はありません。
影響を受ける API
- EnumConverter(Type) コンストラクター
.NET