Bonjour,

Merci d'avance pour votre aide

Soit une classe de base BaseClass, et deux classes A et B qui héritent de BaseClass
J'aimerai que BaseClass implémente les méthodes de sérialisation et de déserialisation suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
public virtual void Save(XmlWriter xwWriter)
{
       XmlSerializer xsSerializer = new XmlSerializer(this.GetType());
       xsSerializer.Serialize(xwWriter, this);
}
 
public virtual void Load(XmlReader xrReader)
{
        XmlSerializer xsSerializer = new XmlSerializer(this.GetType());
        this = (this.GetType())xsSerializer.Deserialize(xrReader);
}
La méthode de serialisation fonctionne très bien.
Mais forcément la méthode de déserialisation n'est pas correcte car le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
this = (this.GetType())xsSerializer.Deserialize(xrReader);
est interdit.

Avez vous une idée pour faire quelque chose d'équivalent, ou est ce que je dois implémenter la méthode Load sur toutes les classes qui héritent de BaseClass