次の方法で共有


EnumConverter は、登録済みの型が列挙型として検証されます

EnumConverter は、 enum 型との間で変換する型コンバーターです。 EnumConverter は、登録する型が enum 型であることを検証するようになりました。

以前の動作

以前は、登録する型が enum 型であることが検証されませんでした。

新しい動作

.NET 9 以降では、変換する型がenum型でない場合、EnumConverterArgumentExceptionをスローします。 EnumConverterの派生クラスでも、この要件を考慮する必要があります。

導入されたバージョン

.NET 9 Preview 7

破壊的変更の種類

この変更は、動作変更です。

変更理由

enum型との間の変換にのみ使用EnumConverter要件を適用することは論理的です。 この要件が以前に追加されなかったのは、おそらく見落としでした。

ただし、この変更の主な要因はトリミングの目的でした。 トリミングenum型をトリミングしませんが、enum型にEnumConverterを使用するには、enumDynamicallyAccessedMembersAttribute注釈が必要です。 つまり、 EnumConverter を使用すると、不要なトリミング警告が生成されます。 最近の変更により、注釈の要件が削除されました。 その変更の理由の一部は、EnumConverterenumsでのみ使用されるように強制するためです。

EnumConverterを使用してenum以外の型との間で変換を行う場合、簡単な回避策はありません。

影響を受ける API