« Programmation C sharp/La sérialisation » : différence entre les versions
Contenu supprimé Contenu ajouté
m →Format XML : avec AWB |
m Formatage, ajout de code |
||
Ligne 6 :
== Attributs ==
L'[[Programmation C sharp/Attributs|attribut]] <
Exemple :
Ligne 19 :
</source>
L'[[Programmation C sharp/Attributs|attribut]] <
Exemple :
Ligne 35 :
Quand la classe évolue, de nouveaux champs sont ajoutés à la classe, d'autres sont retirés.
L'[[Programmation C sharp/Attributs|attribut]] <
Exemple :
Ligne 52 :
}
</source>
Dans cet exemple, la classe Facture permettra de lire des fichiers d'objets <
== La sérialisation ==
Le format de sérialisation dépend de la classe utilisée pour sérialiser les objets.
=== La classe <
Cette [[Programmation C sharp/Classe abstraite|classe abstraite]] définit les méthodes suivantes :
Ligne 63 :
[[Programmation C sharp/Entrées-sorties#La classe Stream|System.IO.Stream]] serializationStream,
object graph);
:Cette méthode enregistre l'objet <
object Deserialize(
Ligne 73 :
* La classe System.Runtime.Serialization.Formatters.Soap.SoapFormatter permet de sérialiser au format [[w:Simple Object Access Protocol|SOAP]].
Une classe dérivée de <
=== Format XML ===
La classe <
void Serialize(
Ligne 87 :
System.Xml.XmlWriter xmlWriter,
object o);
:Ces méthodes enregistrent l'objet <
object Deserialize(
Ligne 97 :
:Ces méthodes retournent l'objet lu depuis le flux d'[[Programmation C sharp/Entrées-sorties|entrée-sortie]] spécifié.
Pour le format XML, les attributs <
* Toute classe est sérialisable en XML,
* L'attribut <
La classe <
* les attributs et propriétés retournant une valeur nulle,
* les attributs et propriétés protégés ou privés,
Ligne 111 :
== Sérialisation personnalisée ==
Il est possible de personnaliser la manière de sérialiser un objet en implémentant l'interface <
Cette interface n'a qu'une méthode, invoquée lors de la sérialisation :
Ligne 129 :
public ''T'' Get''Type''(string name) // GetByte, GetChar, GetInt16, GetDecimal, GetDateTime, ...
L'implémentation de la méthode <
Exemple :
|