Je suis en train de désérialiserC# System.Xml.Serialization éléments auto-imbriqués
<graph>
<node>
<node>
<node></node>
</node>
</node>
<node>
<node>
<node></node>
</node>
</node>
</graph>
avec
[XmlRoot("graph")]
class graph
{
List<Node> _children = new List<node>();
[XmlElement("node")]
public Node[] node
{
get { return _children.ToArray(); }
set { foreach(Node n in value) children.add(n) }
};
}
class Node
{
List<Node> _children = new List<node>();
[XmlElement("node")]
public Node[] node
{
get { return _children.ToArray(); }
set { foreach(Node n in value) children.add(n) }
};
}
mais il ne cesse de dire l'objet n'a pas été créé, référence null lors de la tentative de définir des nœuds enfants . Quel est le problème ci-dessus?
Merci d'avance ~
La sémantique de vos setters pourraient ne pas être ce que vous attendez. Ils ajoutent toujours plus d'éléments au tableau. –
Salut Jordao, que "plus d'éléments" sont là pour ajouter? Y a-t-il une référence que je peux suivre? Lorsque vous utilisez des tableaux typés, cela fonctionne. D'une certaine manière, le sérialiseur traite les propriétés et les variables publiques différemment? – Jake