cs_emmanuel9
Messages postés903Date d'inscriptionmercredi 23 février 2005StatutMembreDernière intervention16 juin 2010
-
26 déc. 2005 à 19:03
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
29 déc. 2005 à 12:04
Bonjour à tous,
J'ai une instance d'une classe Donnees qui contient des ArrayList de divers objets et notamment une arraylist d objet Personne.
Et je voudrais serialiser cette instance de Donnees pour la deserialiser par la suite. Le problème c'est que dans mon Arraylist de Personne je voudrais pas serialiser toutes les personnes mais juste celle qui ont le paramètre ancien = true ;
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 27 déc. 2005 à 19:38
Ah non, j'ai juste parler de personnaliser la sérialisation :-)
Dans ton cas il suffirat de remplacer ton ArrayList par une classe de collection fortement typée implémentant ISerializable afin de filtrer les Personnes sauvegardées ou non :
Basiquement ça donne quelquechose de ce genre :
[Serializable()]
public class PersonnesCollection : CollectionBase, ISerializable
{
public PersonnesCollection()
: base()
{
}
public int Add(Personne pers)
{
return base.InnerList.Add(pers);
}
#region Sérialisation personnalisée
protected PersonnesCollection(SerializationInfo info, StreamingContext context)
{
Type typeOfPersonne = typeof(Personne);
for(int i=0; i
public void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
{
int numPersonne = 0;
for ( int i=0; i
cs_emmanuel9
Messages postés903Date d'inscriptionmercredi 23 février 2005StatutMembreDernière intervention16 juin 20102 27 déc. 2005 à 10:13
c'est à dire que je construise moi même mes classes qui vont me permettre de d'écrire mes objets dans un fichier, en xml par exemple ? Je pense que ca peut se faire mais ca risque d'être très long alors que la serialisation est un processus qui ne prend que quelque ligne, ca serait dommage de s'en passer.
Vous n’avez pas trouvé la réponse que vous recherchez ?