Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
SerializableAttribute, classe
Indique qu'une classe peut être sérialisée. Cette classe ne peut pas être héritée.
Assembly : mscorlib (dans mscorlib.dll)
Le type SerializableAttribute expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
SerializableAttribute | Initialise une nouvelle instance de la classe SerializableAttribute. |
| Nom | Description | |
|---|---|---|
|
Equals | Infrastructure. Retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.) |
|
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) |
|
GetHashCode | Retourne le code de hachage pour cette instance. (Hérité de Attribute.) |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
IsDefaultAttribute | En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée. (Hérité de Attribute.) |
|
Match | En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.) |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
| Nom | Description | |
|---|---|---|
|
_Attribute.GetIDsOfNames | Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute.) |
|
_Attribute.GetTypeInfo | Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface. (Hérité de Attribute.) |
|
_Attribute.GetTypeInfoCount | Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute.) |
|
_Attribute.Invoke | Fournit l'accès aux propriétés et aux méthodes exposées par un objet. (Hérité de Attribute.) |
Appliquez l'attribut SerializableAttribute à un type pour indiquer que les instances de ce type peuvent être sérialisées. Le Common Language Runtime lève SerializationException si aucun attribut SerializableAttribute ne s'applique à un type de graphique d'objets en cours de sérialisation.
Appliquez l'attribut SerializableAttribute même si la classe implémente également l'interface ISerializable pour contrôler le processus de sérialisation.
Tous les champs publics et privés d'un type marqués avec SerializableAttribute sont sérialisés par défaut, à moins que le type n'implémente l'interface ISerializable pour substituer le processus de sérialisation. Le processus de sérialisation par défaut exclut des champs marqués à l'aide de l'attribut NonSerializedAttribute. Si un champ d'un type sérialisable contient un pointeur, un handle ou une autre structure de données spécifique à un environnement particulier et ne peut pas être reconstitué de manière significative dans un autre environnement, il est possible d'appliquer l'attribut NonSerializedAttribute à ce champ.
Pour plus d'informations sur l'utilisation des attributs, consultez Extension des métadonnées à l'aide des attributs. Pour plus d'informations sur la sérialisation, consultez System.Runtime.Serialization.
L'exemple suivant illustre la sérialisation d'un objet marqué à l'aide de l'attribut SerializableAttribute. Pour utiliser BinaryFormatter au lieu de SoapFormatter, ne supprimez pas les marques de commentaire appropriées.
using System; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Soap; //using System.Runtime.Serialization.Formatters.Binary; public class Test { public static void Main() { //Creates a new TestSimpleObject object. TestSimpleObject obj = new TestSimpleObject(); Console.WriteLine("Before serialization the object contains: "); obj.Print(); //Opens a file and serializes the object into it in binary format. Stream stream = File.Open("data.xml", FileMode.Create); SoapFormatter formatter = new SoapFormatter(); //BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(stream, obj); stream.Close(); //Empties obj. obj = null; //Opens file "data.xml" and deserializes the object from it. stream = File.Open("data.xml", FileMode.Open); formatter = new SoapFormatter(); //formatter = new BinaryFormatter(); obj = (TestSimpleObject)formatter.Deserialize(stream); stream.Close(); Console.WriteLine(""); Console.WriteLine("After deserialization the object contains: "); obj.Print(); } } // A test object that needs to be serialized. [Serializable()] public class TestSimpleObject { public int member1; public string member2; public string member3; public double member4; // A field that is not serialized. [NonSerialized()] public string member5; public TestSimpleObject() { member1 = 11; member2 = "hello"; member3 = "hello"; member4 = 3.14159265; member5 = "hello world!"; } public void Print() { Console.WriteLine("member1 = '{0}'", member1); Console.WriteLine("member2 = '{0}'", member2); Console.WriteLine("member3 = '{0}'", member3); Console.WriteLine("member4 = '{0}'", member4); Console.WriteLine("member5 = '{0}'", member5); } }
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.