« Programmation C sharp/La sérialisation » : différence entre les versions
Contenu supprimé Contenu ajouté
Contenu |
+ XML |
||
Ligne 4 :
La sérialisation est un procédé d'[[Programmation C sharp/Entrées-sorties|entrée-sortie]] permettant de sauvegarder et recharger l'état d'un [[Programmation C sharp/Les_objets|objet]]. Cette fonctionnalité permet de faire abstraction du format de fichier utilisé. Celui-ci dépend de l'outil de sérialisation utilisé.
L'état d'un objet correspond à l'ensemble des valeurs de ses
== Attributs ==
Ligne 18 :
}
L'[[Programmation_C_sharp/Attributs|attribut]] <tt>System.NonSerializedAttribute</tt> marque les
Exemple :
Ligne 46 :
:Cette méthode retourne l'objet lu depuis le flux d'[[Programmation_C_sharp/Entrées-sorties|entrée-sortie]] spécifié.
Les [[Programmation C sharp/Héritage de classes|classes dérivées]] définissent un format concret de sérialisation
* La classe System.Runtime.Serialization.Formatters.Binary.BinaryFormatter permet de sérialiser dans un format binaire,
* La classe System.Runtime.Serialization.Formatters.Soap.SoapFormatter permet de sérialiser au format [[w:Simple Object Access Protocol|SOAP]].
La classe <tt>System.Xml.Serialization.XmlSerializer</tt> permet de sérialiser au format XML, et ne nécessite pas l'attribut <tt>Serializable</tt>. Elle ne dérive pas de la classe <tt>System.Runtime.Serialization.Formatter</tt>, et possède les méthodes suivantes :
void Serialize(
System.IO.Stream stream,
object o);
void Serialize(
System.IO.TextWriter textWriter,
object o);
void Serialize(
System.Xml.XmlWriter xmlWriter,
object o);
:Ces méthodes enregistrent l'objet <tt>graph</tt> dans le flux d'[[Programmation_C_sharp/Entrées-sorties|entrée-sortie]] spécifié.
object Deserialize(
System.IO.Stream stream);
object Deserialize(
System.IO.TextReader textReader);
object Deserialize(
System.Xml.XmlReader xmlReader);
:Ces méthodes retournent l'objet lu depuis le flux d'[[Programmation_C_sharp/Entrées-sorties|entrée-sortie]] spécifié.
|