Может ли класс, производный от DependencyObject, помечаться как сериализуемый? - PullRequest
0 голосов
/ 03 сентября 2011

Что это означает под следующим предложением

DependencyObjects are not marked as serializable 

Насколько мне известно, у меня может быть класс, который наследуется от DependencyObject ..., и я могу пометить его как сериализуемый.В любом случае свойство сериализации не наследуется.

Может кто-нибудь дать мне понять.Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 03 сентября 2011

Это означает, что класс, производный от DependencyObject, не может быть сериализован стандартными сериализаторами.В качестве обходного пути вы можете использовать XamlReader / XamlWriter, как показано в этой статье .

2 голосов
/ 03 сентября 2011

DependencyObject существует для использования всей системы свойств зависимостей. Одним из побочных эффектов этого является то, что он действительно не согласуется с подходом к сериализации, принятым в .NET.

Сериализация в .NET сериализует поля в классе. Однако объекты DependencyObject на самом деле не используют поля (экземпляра), а регистрируют свойства DependencyProperties, которые хранятся в другом месте (если вообще). Как таковые, они не сериализуются должным образом, даже если вы отметите их [Сериализуемые].

...