Bonjour,

je souhaite créer un programme permettant la sérialisation de mes classes.

Je possède deux classes : Chien et Chat (dérivant de Animal).

Actuellement dans ma classe de Service, j'ai deux méthodes : CreateChien & CreateChat, permettant la création des objets Chien et Chat selon différents paramètres.

Jusque là, rien de bien difficile.
CreateChien dans la classe CreateService.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
public Chien CreateChien(string nomChien, string chenilChien, int anneeChien)
 
{
 
 	Chien myDog = new Chien(nomChien, chenilChien, anneeChien);
 
 	return myDog;
 
}

Puis dans mon Main, j'appelle ma méthode ainsi :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
CreateChien Rex = new CreateChien();
Rex.CreateChien ("Rex", "Chenil BoisVert", 7);
Toujours dans mon Main, je lance la sérialisation de mon objet :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
XmlSerializer Serializer = new XmlSerializer(typeof(Chien));
StreamWriter Writer = new StreamWriter("Rex.xml", false);
Serializer.Serialize(Writer, Rex);
Writer.Close();
MAIS ; ERREUR.

Lors du lancement du programme, une erreur apparait, alors que mon fichier XML est bien créé mais vide.

"{"Impossible d'effectuer un cast d'un objet de type 'Exercice.Services.CreateChien' en type 'Exercice.Domaine.Chien'."}"
On m'a donc conseillé de créer une méthode permettant la récupération des propriétés de mon objet (ici mon Chien), afin de permettre la sérialiation...

Je souhaite donc créer une méthode "GetChien" (& "GetChat") qui me permettrait la récupération des mes objets dans le but d'une sérialisation ultérieur.

Mais je ne sais comment faire...

De l'aide serait la bienvenue, merci d'avance !