XmlAttributeProperties.XmlNamespaceMapsのバッキング プロパティが String から Hashtable に変更されました。
導入されたバージョン
.NET 9 Preview 3
以前の動作
以前は、 XmlNamespaceMaps のバッキング プロパティが Stringされていました。 ただし、 dependencyObject.GetValue(XmlNamespaceMapsProperty)
によって返される値は Hashtable 型であり、 GetXmlNamespaceMaps(DependencyObject) 実装はそれを型キャストして Stringにキャストしようとしましたが、その結果、 InvalidCastExceptionが発生しました。
さらに、 SetXmlNamespaceMaps(DependencyObject, String) メソッドは String 引数を受け取りました。
新しい動作
XmlNamespaceMapsのバッキングプロパティは.NET 9以降Hashtableに変わり、InvalidCastExceptionによってGetXmlNamespaceMaps(DependencyObject)がスローされなくなります。
さらに、 SetXmlNamespaceMaps(DependencyObject, Hashtable) メソッドは、 Hashtable 引数を受け入れるようになりました。
カテゴリの変更
この変更は 動作の変更 であり、 ソースの互換性にも影響する可能性があります。
変更の理由
この変更は InvalidCastException がスローされるのを防ぐために行われました。
推奨されるアクション
文字列の代わりに Hashtable
を SetXmlNamespaceMaps API に渡します。
影響を受ける API
.NET