.NET 2Comment Xml sérialiser une LinkedList?
En fait, il existe des méthodes pour XML sérialisent un List<T>
. Que faire si j'ai un objet qui a un membre LinkedList<T>
public? Sans créer un doublon public comme List<T>
de LinkedList<T>
. Peut-être un moyen de contrôler la sérialisation Xml comme binaire (OnSerializing, OnDeserializing).
Sera impossible de sérialiser XML un objet avec un membre LinkedList<T>
public?
EDIT:
Un exemple de test pour fixer avec IXmlSerializable
using System.Xml.Serialization;
public class Foo : IXmlSerializable {
private int _Id;
private string _Name;
public string Name {
get { return _Name; }
set { _Name = value; }
}
private int _Age;
public string Age {
get { return _Age; }
set { _Age = value; }
}
private LinkedList<Bar> _linkedList = new LinkedList<Bar>();
[XmlArray()]
public List<Bar> MyLinkedList {
get { return _linkedList; }
set { _linkedList = value; }
}
public System.Xml.Schema.XmlSchema GetSchema() {
return null;
}
public void ReadXml(System.Xml.XmlReader reader) {
_Name = reader.ReadString(); // ? '
_Age = reader.ReadString(); // ? '
// foreach MyLinkedList
}
public void WriteXml(System.Xml.XmlWriter writer) {
writer.WriteString(_Name); // ? '
writer.WriteString(_Age); // ? '
// foreach MyLinkedList
}
}
double possible de [LinkedList ne peut pas être publié en feuilleton en utilisant la XMLSerializer] (http://stackoverflow.com/questions/2237584/linkedlistt-can-not-be-serialized-using-the-xmlserializer) –
nawfal