Сейчас после того, как очередной раз поймал InvalidOperationException при сериализации решил написать для себя список требований к объекту:
1) должен иметь атрибут
[Serializable]
* This source code was highlighted with Source Code Highlighter.2)Должен иметь конструктор по-умолчанию(без параметров)Из основного вроде всё, если вспомню чего, потом допишу.
теперь частности:
если необходимо сериализовать класс-наследник, то у базового класса надо с помощью атрибута XmlInclude перечислить ему(базовому) все типы наследников примерно так:
[XmlInclude(typeof(Information)), XmlInclude(typeof(Episode))]
public abstract class Element
* This source code was highlighted with Source Code Highlighter.очень хорошо сериализуются коллекции, я использую List
[XmlArrayItem(typeof(Information)), XmlArrayItem(typeof(Episode))]
public List<Element> Actions
* This source code was highlighted with Source Code Highlighter.Просто указываем с какими элементами может иметь дело List
Комментариев нет:
Отправить комментарий