TUTORIELS 
La sérialisation dans C#

Page 1 | 2

Présentation des deux manières de sérialiser un objet au sein du framework .NET, avec C#.
 (20 novembre 2003)
 
L'interface ISerializable
L'implémentation de cette classe permet de contrôler les éléments sérialisés. C'est l'objet lui-même qui contrôle sa propre (dé)sérialisation. Cette interface donne accès à la méthode GetObjectData(), qui prend en charge la sérialisation des éléments.

using System;

[Serializable]
public class Animal : ISerializable
  {
  public string Genre;
  public string Espece;
  public string Race;
  public bool int nbrMembres;

 
 public void ClassificationAnimal()
    {
    Console.WriteLine("{0} / {1} / {2}.", Genre, Espace, Race);
    }


  
public void NombreDeMembres()
    {
    Console.WriteLine("Cette race compte {0} membre(s).", nbrMembres);
    }

  void GetObjectData(SerializationInfo info, StreamingContext context)
    {
    // SERIALISATION
    info.AddValue("Genre", "Mamifère");
    info.AddValue("Espece", "Monotrème");
    }

  public Animal(SerializationInfo info, StreamingContext context)
    {
    // DESERIALISATION
    Genre = info.GetString("Genre");
    Espece = info.GetString("Espece");
    }
  }

Discutez en sur les forums

On peut part ailleurs librement faire persister des valeurs arbitraires (c'est-à-dire, non définie dans la classe) dans la sérialisation de la classe par ce mécanisme.

 

Page 1 | 2

 
[ Xavier BorderieJDNet]
 
Accueil | Haut de page