La sérialisation binaire

La meilleure raison d’utiliser la sérialisation binaire est de rendre persistant l’état d’un objet afin de pouvoir le recréer à l’identique ultérieurement. Cet objet peut alors être stocké dans un fichier ou envoyé en tant que flux à travers le réseau. Un autre avantage est que la sérialisation binaire conserve l’état des membres publics et privés de l’objet.

A contrario, il n’est pas aisé d’utiliser les flux générés dans ou depuis une application tierce.

1. Les bases

Le prérequis pour rendre une classe sérialisable est de la marquer avec l’attribut Serializable. Tenter de sérialiser un objet qui ne serait pas marqué de cet attribut entraînerait la levée d’une exception de type SerializationException :

Serializable SerializationException
[Serializable] 
public class ReplacedField 
{ 
    public string Pattern; 
    public string Field; 
    public bool HasChanged; 
} 

L’exemple de code ci-dessous montre la méthode permettant à un objet de cette classe d’être sérialisé dans un fichier :

// Instanciation et initialisation de l'objet 
ReplacedField O = new ReplacedField(); 
O.Field = "myField"; 
O.Pattern = "myPattern"; 
O.HasChanged = true; 
 ...
Pour consulter la suite, découvrez le livre suivant :
couv_EI9C19VIS.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Introduction
Suivant
La sérialisation XML