Utiliser les 3 techniques de sérialisation dotnet et "voir" les résultats

Soyez le premier à donner votre avis sur cette source.

Vue 11 225 fois - Téléchargée 2 636 fois

Description

Cette source permet de "VOIR" la sérialisation DOTNET
Il existe plusieurs façons de transformer un objet en flux (et inversement)
La sérialisation est un de ces moyens.
DOTNET offre trois techniques de sérialisation :
- XmlSerializer du namespace System.Xml.Serialization
- deux sérialiseurs du namespace System.Runtime.Serialization et de ces sous namespaces par l'intermédiaire des Formatteurs binaires et soap

Ce petit projet montre dans des textbox le résultat de ces trois sérialisations
Pour le XmlSerialiseur, on pourra aussi afficher le résultat dans une grille
Pour le sérialisation binaire, (le binaire n'étant pas très visible!) on affiche les valeurs des bytes séparés par des '-'

De plus, il s'appuie sur deux classes "Personne" pour montrer les différences de comportement de la sérialisation (XmlSerialiser particulièrement)
l'une possédant deux fields encapsulés par des properties publiques
l'autre NomPublic.Personne n'ayant qu'une propriété publique.

La capture d'écran montre les champs et les endroits des flux correspondants
Vous êtes invités à modifier des lettres directement dans la textbox (ou la grille) et à désérialiser ensuite.

Conclusion :


A l'occasion de votre revue de code, je vous invite à regarder de près les différentes techniques
pour passer de string à char[] puis à byte[] et réciproquement
=> c'est un bon entraînement...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_Zeroc00l
Messages postés
370
Date d'inscription
lundi 1 avril 2002
Statut
Membre
Dernière intervention
11 février 2010
-
Bonjour ... Je ne connais pas C# et la serialisation mais j'aimerais en connaitre d'avantage .. connaissez vous de bons sites qui expliquent le concept de la chose ?

Merci beaucoup.

ZeroCool
Trollien
Messages postés
39
Date d'inscription
jeudi 27 février 2003
Statut
Membre
Dernière intervention
31 janvier 2006
-
Il est à rajouter qu'il ya possibilité de sérialiser un objet au travers de TCP/IP très simplement grâce à la class abstraite System.IO.Stream , ce qui dans un environnement Client/Serveur est bien utile :)
SHOTOKALEX
Messages postés
12
Date d'inscription
vendredi 27 septembre 2002
Statut
Membre
Dernière intervention
31 août 2006
-
Bonjour,

Alors moi j'ai un problème de sérialisation qui est le suivant:

J'ai une classe qui contient 4 structures et dont 1 est une des propriété des 3 autres.
Et bien la sérialisation fonctionne mais pas le désérialisation.
Ca fonctionne si je retire la proprité des la structure imbriquées.

le message est le suivant:

Informations supplémentaires : La correction d'une chaîne ValueType partiellement disponible n'est pas implémentée.
Cookai
Messages postés
7
Date d'inscription
vendredi 2 janvier 2004
Statut
Membre
Dernière intervention
17 janvier 2006
-
Comment faire pour faire une sérialisation binaire utilisant des classes et ses héritages?
cs_BackPack
Messages postés
20
Date d'inscription
jeudi 8 janvier 2004
Statut
Membre
Dernière intervention
20 mars 2007
-
C'est effectivement un très bon exemple pour ceux
qui veulent débuter et mieux comprendre la sérialisation.

Perso j'ai bien apprécié :-)

Merci Vieux Lion

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.