Bonjour,

j'ai un souci de serialisation. Je vous explique avec du code ce sera plus simple

j'ai une classe abstraite qui implemente une interface :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
[Serializable]
    public abstract class ME : IM
    {         
        protected string                m_name;
        protected string                m_body;
 
 
        public ME() { }
 
        public abstract string Body {get;}
 
 
        public string Name
        {
            get { return m_name; }
        }
   }
une autre classe qui derive de la classe abstraite :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
[Serializable]
    public class MH : ME
    {        
        string m_bodyH;
 
        public MessageHtml() { }
        public MessageHtml(string name, string bodyH)
        {
            m_name = name;
            m_bodyH = bodyH;        
        }
 
        public override string Body
        {
            get { return m_bodyH; }
        }
    }
Enfin je serialise mon objet de la manière suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
ME myObject = new MH("le nom", "le bodyH");
 
System.IO.StringWriter oWriter = new System.IO.StringWriter();
XmlSerializer serializer = new XmlSerializer(myObject.GetType());
serializer.Serialize(oWriter, myObject);
lblName.Text = oWriter.ToString();
Tout compile trés bien. Mais le souci est que je n'arrive pas à obtenir les attributs de la classe abstraite "ME". Je n'ai rien dans le "oWriter" (à part les balises xml).

Je debute un peu dans la serialisation et je ne comprend pas pourquoi je n'arrive pas à les obtenir.
Merci pour votre aide