Sérialisation, exemple
Mise à jour : novembre 2007
Cette solution montre comment sérialiser et désérialiser un objet.
Pour obtenir des exemples et leurs instructions d'installation
Effectuez une ou plusieurs des opérations suivantes :
Dans le menu ? (Aide), cliquez sur Exemples.
Le fichier Readme contient des informations sur les exemples.
Accédez au site Web Exemples Visual Studio 2008. La version la plus récente des exemples est disponible sur ce site.
Recherchez les exemples sur l'ordinateur sur lequel Visual Studio est installé. Par défaut, les exemples et un fichier Readme sont installés sous lecteur:\Program Files\Microsoft Visual Studio 9.0\Samples\1036. Pour les versions Express de Visual Studio, tous les exemples sont disponibles en ligne.
Pour plus d'informations, consultez Recherche des fichiers d'exemple.
.
Note de sécurité : |
---|
Cet exemple de code est destiné à illustrer un concept ; il présente uniquement le code qui se rapporte spécifiquement à ce concept. Il est possible qu'il ne réponde pas aux exigences de sécurité d'un environnement spécifique, et ne doit pas être utilisé exactement comme indiqué. Nous vous recommandons d'ajouter du code de sécurité et de gestion des erreurs afin de renforcer la sécurité et la fiabilité de vos projets. Microsoft fournit cet exemple de code « EN L'ÉTAT » sans aucune garantie. |
Pour exécuter cet exemple
- Appuyez sur F5.
Démonstrations
Cette application contient deux classes : l'une avec sérialisation standard, l'autre avec sérialisation personnalisée. L'interface utilisateur inclut des boutons permettant de sérialiser et désérialiser les deux classes. La classe avec sérialisation standard peut être sérialisée à un fichier SOAP ou un fichier binaire. La classe avec sérialisation personnalisée est sérialisée à un fichier SOAP. Un contrôle TextBox est utilisé pour afficher les fichiers SOAP. Les deux classes ont l'attribut SerializableAttribute. Les classes sont décrites dans le tableau suivant.
Membre de classe |
SerializationClass |
CustomSerializationClass |
---|---|---|
PublicVariable |
La variable publique est sérialisée et désérialisée sans modification. |
La variable publique est sérialisée et désérialisée sans modification. |
PublicProperty |
La variable privée qui prend en charge la propriété est sérialisée et désérialisée sans modification. |
La variable privée qui prend en charge la propriété est sérialisée en tant que -1, indépendamment du jeu de valeur de l'interface utilisateur. Par conséquent, elle est désérialisée en tant que -1. |
NonSerializedVariable |
Cette variable n'est pas sérialisée, car elle est marquée avec NonSerializedAttribute. La variable publique n'est pas sérialisée et la valeur désérialisée est 0. |
Bien que la variable soit marquée par NonSerializedAttribute, elle est sérialisée, car la sérialisation personnalisée substitue ce paramètre. La variable publique est sérialisée et désérialisée sans modification. |
Trois types de sérialisation sont illustrés :
Format SOAP Class1 est sérialisé à l'aide de la classe SoapFormatter.
Format binaire Class1 est sérialisé à l'aide de classe BinaryFormatter.
Format personnalisé Class2 implémente l'interface ISerializable, y compris la méthode GetObjectData, pour effectuer une sérialisation personnalisée.