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