0

下面这句话是什么意思

DependencyObjects are not marked as serializable 

据我所知,我可以有一个从 DependencyObject 继承的类......并且我可以将它标记为可序列化。无论如何,序列化属性是不可继承的。

有人可以让我清楚。提前致谢。

4

2 回答 2

2

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

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

于 2011-09-03T17:42:15.490 回答
2

这意味着从 DependencyObject 派生的类无法使用标准序列化程序进行序列化。作为一种解决方法,您可以使用 XamlReader/XamlWriter,如本文所示。

于 2011-09-03T17:42:54.210 回答