Sérialisation générique incomplète.
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:
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:
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:
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 !