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