EnumConverter 會驗證要列舉的已註冊類型
EnumConverter 是類型轉換子,可轉換至 型別 enum
和從類型轉換。 EnumConverter 現在會驗證要註冊的類型是否為 enum
類型。
先前的行為
先前,要註冊的類型未驗證為 enum
類型。
新的行為
從 .NET 9 開始,如果要轉換的類型不是類型,EnumConverter則會擲回 ArgumentException 。enum
的任何衍生類別 EnumConverter 也應該遵守這項需求。
導入的版本
.NET 9 預覽 7
中斷性變更的類型
此變更為行為變更。
變更原因
強制只轉換到型別和從enum
類型轉換的需求EnumConverter是合乎邏輯的。 這可能是一種監督,即這項要求之前沒有增加。
不過,這項變更的主要驅動因素是修剪目的。 修剪不會修剪enum
類型,而是針對enum
類型所需的DynamicallyAccessedMembersAttribute批注enum
類型使用 EnumConverter 。 這表示使用 EnumConverter
會產生不必要的修剪警告。 最近的變更已移除批注需求。 該變更的一部分是強制 EnumConverter
只搭配 enums
使用。
建議的動作
如果使用 EnumConverter 來回轉換成非enum
型別,則沒有任何簡單的因應措施。
受影響的 API
- EnumConverter(Type) 建構函式