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");
}
}
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
|