后盾属性XmlAttributeProperties.XmlNamespaceMaps已从String更改为Hashtable。
已引入的版本
.NET 9 预览版 3
以前的行为
以前,后盾属性 XmlNamespaceMaps 是 String。 但是,dependencyObject.GetValue(XmlNamespaceMapsProperty)
返回的值是 Hashtable 类型,并且 GetXmlNamespaceMaps(DependencyObject) 实现尝试将其类型转换为 String,这导致了 InvalidCastException。
此外,该方法 SetXmlNamespaceMaps(DependencyObject, String) 接受参数 String 。
新行为
从 .NET 9 开始,支持属性 XmlNamespaceMaps 为 Hashtable,InvalidCastException 不再由 GetXmlNamespaceMaps(DependencyObject) 属性引发。
此外,该方法 SetXmlNamespaceMaps(DependencyObject, Hashtable) 现在接受参数 Hashtable 。
更改类别
更改原因
进行此更改旨在防止引发 InvalidCastException。
建议的措施
将 Hashtable
而不是字符串传递给 SetXmlNamespaceMaps API。