Сериализация производных классов в списке. - C#

Узнай цену своей работы

Формулировка задачи:

Интересует процесс сериализации списка с унаследованными типами на примере:
[XmlInclude(typeof(Derived1)), XmlInclude(typeof(Derived2))]
public class Base
{}
 
public class Derived1 : Base
{}
 
public class Derived2 : Derived1
{}
 
public class Main
{
     List<Base> list = new List<Base>();
     list.Add(new Derived1);
     list.Add(new Derived2);
     ...
     new XmlSerializer(typeof(List<Base>)).Serialize(xmlWriter, list); //Exception - 
     //A circular reference was detected while serializing an object of type 'List<Base>'...
     ...
}
Как правильно сериализовать класс, чтобы не было цикличных ссылок?

Решение задачи: «Сериализация производных классов в списке.»

textual
Листинг программы
SerialClass temp=new SerialClass();
temp.Bases.Add(new Derived1());
temp.Bases.Add(new Derived2());
mySerializer.Serialize(myWriter, temp.Bases)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы