Bonjour,

Je rencontre un problème avec la serialisation d'objet enfant.
En gros, j'ai plusieurs classe :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
public abstract class Base
 
Public abstract class BaseDocument : List<Base>
 
public class News : Base
 
public class NewsDocument : List<News>

Lorsque j'essaie de Serialiser newsDocument j'obtient une erreur indiquant que News est inconnu.
J'ai réussi a contourné le problème en reférenssant directment dans Base le type News seulement Base est voué a aller dans une assembly différente et il est donc hors de question de devoir référencer les class fille dans la class "mère".
Je n'arrive pas à le faire via les attributes Overrides, je pense m'y être mal pris :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
            XmlAttributeOverrides aor = new XmlAttributeOverrides();
            XmlAttributes attrs = new XmlAttributes();
            attrs.XmlElements.Add(new XmlElementAttribute("news", typeof(News)));
            aor.Add(typeof(NewsDocument),"NewsDocument",attrs);
            XmlSerializer xser = new XmlSerializer(typeof(NewsDocument),aor );
            xser.Serialize(txtw, this);
Quelqu'un voit d'où vient mon erreur ?