以下句子是什么意思
DependencyObjects are not marked as serializable
据我所知,我可以有一个继承自DependencyObject的类......我可以将它标记为可序列化。无论如何序列化属性是不可继承的。
有人能让我清楚吗?提前谢谢。
答案 0 :(得分:2)
存在DependencyObject以使用整个依赖属性系统。这样做的一个副作用是它实际上与.NET中的序列化方法不相符。
序列化,在.NET中,序列化类中的字段。但是,DependencyObjects实际上并不使用(实例)字段,而是注册了DependencyProperties,它们存储在别处(如果有的话)。因此,即使您将它们标记为[Serializable],它们也不会正确序列化。
答案 1 :(得分:2)
这意味着从DependencyObject派生的类无法使用标准序列化程序进行序列化。作为解决方法,您可以使用XamlReader / XamlWriter,如this article中所示。