共用方式為


EnumConverter 會驗證要列舉的已註冊類型

EnumConverter 是類型轉換子,可轉換至 型別 enum 和從類型轉換。 EnumConverter 現在會驗證要註冊的類型是否為 enum 類型。

先前的行為

先前,要註冊的類型未驗證為 enum 類型。

新的行為

從 .NET 9 開始,如果要轉換的類型不是類型,EnumConverter則會擲回 ArgumentExceptionenum 的任何衍生類別 EnumConverter 也應該遵守這項需求。

導入的版本

.NET 9 預覽 7

中斷性變更的類型

此變更為行為變更

變更原因

強制只轉換到型別和從enum類型轉換的需求EnumConverter是合乎邏輯的。 這可能是一種監督,即這項要求之前沒有增加。

不過,這項變更的主要驅動因素是修剪目的。 修剪不會修剪enum類型,而是針對enum類型所需的DynamicallyAccessedMembersAttribute批注enum類型使用 EnumConverter 。 這表示使用 EnumConverter 會產生不必要的修剪警告。 最近的變更已移除批注需求。 該變更的一部分是強制 EnumConverter 只搭配 enums使用。

如果使用 EnumConverter 來回轉換成非enum 型別,則沒有任何簡單的因應措施。

受影響的 API