Bonjour,
Je me pose la question de savoir comment stocker dans un même fichier des objets issues de classes dérivées ..
Voici un exemple :
J'ai une classe CVehicule définie de la façon suivante :
Je crée une liste d'objets de cette classe que j'enregistre dans un fichier
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 #pragma once using namespace System; [Serializable] public ref class CVehicule { private: String ^ type; String ^ constructeur; String ^ modele; etc ... . . .
Jusque là tout va bien, je stocke, je lis, modifie, relis et tout fonctionne ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 String ^ strFilename = String::Concat (path, "materiel.dat"); FileStream ^ stmMateriel = gcnew FileStream(strFilename, FileMode::Create, FileAccess::Write); BinaryFormatter ^ bfmMateriel = gcnew BinaryFormatter; bfmMateriel->Serialize(stmMateriel, materiel); // materiel = liste d'objets de la classe CVehicule stmMateriel->Close();
Maintenant je crée des classes "CBicyclette", "CMoto", "CVoiture", "CCamion",... dérivées de la classe CVehicule ...
Et je me pose la question de savoir comment stocker mes objets avec une méthode aussi simple que la sérialisation ...
Je pense que la sérialisation simple n'est pas possible car je vois mal comment dé-sérialiser des objets différents.
Mais j'aimerais bien être sûr qu'il n'y a pas une solution simple à ce type de problème ..
Bonne soirée et merci d'avance à ceux qui prendront la peine de me lire.
Partager