標示 InlineArrayAttribute
的類型預設擲回 Equals()
和 GetHashCode()
標記 InlineArrayAttribute 的類型上 Equals(Object) 和 GetHashCode() 的預設行為現在是擲回 NotSupportedException。 如果程式庫作者預期不要擲回,則應覆寫這兩個方法。
先前的行為
先前,預設實作只會在計算等式或雜湊程式碼時使用預留位置 ref
欄位。
新的行為
從 .NET 9 開始,在將 InlineArrayAttribute 套用至類型時,一律會從 Equals(Object) 和 GetHashCode() 的預設實作擲回 NotSupportedException。
導入的版本
.NET 9 Preview 6
中斷性變更的類型
此變更為行為變更。
變更原因
目前的行為對於判斷等式和計算雜湊程式碼不正確,而且呼叫這些函式時,會導致使用者誤判正確性。
建議的動作
程式庫作者應該在標示 InlineArrayAttribute 的所有類型上實作 Equals(Object) 和 GetHashCode()。