Share via


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.

Voir aussi

Référence

System.Runtime.Serialization.Formatters.Soap

Serialize

Deserialize

ISerializable

GetObjectData

SerializableAttribute