Une LinkedList can't be serialized en utilisant XmlSerializer.LinkedList <T> ne peut pas être sérialisé à l'aide de XMLSerializer
Maintenant, comment enregistrer/récupérer des données d'un objet sérialisé LinkedList. Dois-je implémenter la sérialisation personnalisée?
Ce que j'ai essayé de faire:
using System.Xml.Serialization;
[Serializable()]
public class TestClass
{
private int _Id;
private string _Name;
private int _Age;
private LinkedList<int> _linkedList = new LinkedList<int>();
public string Name {
get { return _Name; }
set { _Name = value; }
}
public string Age {
get { return _Age; }
set { _Age = value; }
}
[XmlArray()]
public List<int> MyLinkedList {
get { return new List<int>(_linkedList); }
set { _linkedList = new LinkedList<int>(value); }
}
}
Ce que j'ai obtenu (addind nom, l'âge et certains éléments du mylinkedlist):
<?xml version="1.0"?>
<TestClass
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Name>testName</Name>
<Age>10</Age>
<MyLinkedList />
</TestClass>
Ainsi, les éléments de la liste chaînée n'a pas été sérialisé ... :(
Code Peut-être votre test ajoutais éléments de la collection incorrectement? Je vais mettre à jour ma réponse avec un exemple de code. –