派生自DependencyObject的类是否可以标记为可序列化的?

本文关键字:记为 序列化 是否 DependencyObject 派生 | 更新日期: 2023-09-27 18:07:45

下面这句话是什么意思

DependencyObjects are not marked as serializable 

据我所知,我可以有一个继承自DependencyObject的类…我可以把它标记为可序列化的。无论如何serialize属性是不可继承的。

谁能让我说清楚。

派生自DependencyObject的类是否可以标记为可序列化的?

这意味着派生自DependencyObject的类不能用标准序列化器序列化。作为一种变通方法,您可以使用本文所示的XamlReader/XamlWriter。

DependencyObject的存在是为了利用整个依赖属性系统。这样做的一个副作用是,它确实与。net中采用的序列化方法不兼容。

序列化,在。net中,序列化类中的字段。然而,DependencyObjects实际上并不使用(实例)字段,而是使用已注册的DependencyProperties,它们存储在其他地方(如果有的话)。因此,即使您将它们标记为[Serializable],它们也不能正确地序列化。