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
|
SerializationInfo, classe
Stocke toutes les données nécessaires pour sérialiser ou désérialiser un objet. Cette classe ne peut pas être héritée.
Assembly : mscorlib (dans mscorlib.dll)
Le type SerializationInfo expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
AssemblyName | Obtient ou définit le nom d'assembly du type à sérialiser pendant la sérialisation uniquement. |
|
FullTypeName | Obtient ou définit le nom complet de Type à sérialiser. |
|
IsAssemblyNameSetExplicit | Retourne la valeur true si le nom de l'assembly a été défini explicitement. |
|
IsFullTypeNameSetExplicit | Retourne la valeur true si le nom de type complet a été défini explicitement. |
|
MemberCount | Obtient le nombre de membres qui ont été ajoutés au magasin SerializationInfo. |
|
ObjectType | Retourne le type de l'objet à sérialiser. |
| Nom | Description | |
|---|---|---|
|
AddValue(String, Boolean) | Ajoute une valeur booléenne au magasin SerializationInfo. |
|
AddValue(String, Byte) | Ajoute une valeur entière 8 bits non signée dans le magasin SerializationInfo. |
|
AddValue(String, Char) | Ajoute une valeur des caractères Unicode dans le magasin SerializationInfo. |
|
AddValue(String, DateTime) | Ajoute une valeur DateTime dans le magasin SerializationInfo. |
|
AddValue(String, Decimal) | Ajoute une valeur décimale dans le magasin SerializationInfo. |
|
AddValue(String, Double) | Ajoute une valeur à virgule flottante double précision dans le magasin SerializationInfo. |
|
AddValue(String, Int16) | Ajoute une valeur entière 16 bits signée dans le magasin SerializationInfo. |
|
AddValue(String, Int32) | Ajoute une valeur entière 32 bits signée dans le magasin SerializationInfo. |
|
AddValue(String, Int64) | Ajoute une valeur entière 64 bits signée dans le magasin SerializationInfo. |
|
AddValue(String, Object) | Ajoute l'objet spécifié dans le magasin SerializationInfo, où il est associé à un nom spécifié. |
|
AddValue(String, SByte) | Ajoute une valeur entière 8 bits signée dans le magasin SerializationInfo. |
|
AddValue(String, Single) | Ajoute une valeur à virgule flottante simple précision dans le magasin SerializationInfo. |
|
AddValue(String, UInt16) | Ajoute une valeur entière 16 bits non signée dans le magasin SerializationInfo. |
|
AddValue(String, UInt32) | Ajoute une valeur entière 32 bits non signée dans le magasin SerializationInfo. |
|
AddValue(String, UInt64) | Ajoute une valeur entière 64 bits non signée dans le magasin SerializationInfo. |
|
AddValue(String, Object, Type) | Ajoute une valeur au magasin SerializationInfo, où value est associé à name et est sérialisé en tant que Typetype. |
|
Equals(Object) | Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.) |
|
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.) |
|
GetBoolean | Récupère une valeur booléenne du magasin SerializationInfo. |
|
GetByte | Récupère une valeur entière 8 bits non signée du magasin SerializationInfo. |
|
GetChar | Récupère une valeur des caractères Unicode du magasin SerializationInfo. |
|
GetDateTime | Récupère une valeur DateTime du magasin SerializationInfo. |
|
GetDecimal | Récupère une valeur décimale du magasin SerializationInfo. |
|
GetDouble | Récupère une valeur à virgule flottante double précision du magasin SerializationInfo. |
|
GetEnumerator | Retourne SerializationInfoEnumerator utilisé pour itérer au sein des paires nom-valeur dans le magasin SerializationInfo. |
|
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) |
|
GetInt16 | Récupère une valeur entière 16 bits signée du magasin SerializationInfo. |
|
GetInt32 | Récupère une valeur entière 32 bits signée du magasin SerializationInfo. |
|
GetInt64 | Récupère une valeur entière 64 bits signée du magasin SerializationInfo. |
|
GetSByte | Récupère une valeur entière 8 bits signée du magasin SerializationInfo. |
|
GetSingle | Récupère une valeur à virgule flottante simple précision du magasin SerializationInfo. |
|
GetString | Récupère une valeur String du magasin SerializationInfo. |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
GetUInt16 | Récupère une valeur entière 16 bits non signée du magasin SerializationInfo. |
|
GetUInt32 | Récupère une valeur entière 32 bits non signée du magasin SerializationInfo. |
|
GetUInt64 | Récupère une valeur entière 64 bits non signée du magasin SerializationInfo. |
|
GetValue | Récupère une valeur du magasin SerializationInfo. |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
SetType | Définit Type de l'objet à sérialiser. |
|
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
Cette classe est utilisée par des objets ayant un comportement de sérialisation personnalisé. La méthode GetObjectData sur ISerializable ou ISerializationSurrogate remplit le magasin SerializationInfo avec le nom, le type et la valeur de chaque information qu'elle souhaite sérialiser. Au cours de la désérialisation, la fonction appropriée peut récupérer cette information.
Des objets sont ajoutés au magasin SerializationInfo au moment de la sérialisation à l'aide des méthodes AddValue et récupérés du magasin SerializationInfo au moment de la désérialisation à l'aide des méthodes GetValue.
Pour plus d'informations sur la personnalisation de la sérialisation, consultez [<topic://cpconCustomSerialization>].
L'exemple de code suivant illustre SerializationInfo pour la sérialisation et la désérialisation personnalisées de diverses valeurs.
using System; using System.Web; using System.IO; using System.Collections; using System.Runtime.Serialization.Formatters.Binary; using System.Runtime.Serialization; using System.Security.Permissions; // There should be only one instance of this type per AppDomain. [Serializable] public sealed class Singleton : ISerializable { // This is the one instance of this type. private static readonly Singleton theOneObject = new Singleton(); // Here are the instance fields. private string someString_value; private Int32 someNumber_value; public string SomeString { get{return someString_value;} set{someString_value = value;} } public Int32 SomeNumber { get{return someNumber_value;} set{someNumber_value = value;} } // Private constructor allowing this type to construct the Singleton. private Singleton() { // Do whatever is necessary to initialize the Singleton. someString_value = "This is a string field"; someNumber_value = 123; } // A method returning a reference to the Singleton. public static Singleton GetSingleton() { return theOneObject; } // A method called when serializing a Singleton. [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] void ISerializable.GetObjectData( SerializationInfo info, StreamingContext context) { // Instead of serializing this object, // serialize a SingletonSerializationHelp instead. info.SetType(typeof(SingletonSerializationHelper)); // No other values need to be added. } // Note: ISerializable's special constructor is not necessary // because it is never called. } [Serializable] internal sealed class SingletonSerializationHelper : IObjectReference { // This object has no fields (although it could). // GetRealObject is called after this object is deserialized. public Object GetRealObject(StreamingContext context) { // When deserialiing this object, return a reference to // the Singleton object instead. return Singleton.GetSingleton(); } } class App { [STAThread] static void Main() { FileStream fs = new FileStream("DataFile.dat", FileMode.Create); try { // Construct a BinaryFormatter and use it // to serialize the data to the stream. BinaryFormatter formatter = new BinaryFormatter(); // Create an array with multiple elements refering to // the one Singleton object. Singleton[] a1 = { Singleton.GetSingleton(), Singleton.GetSingleton() }; // This displays "True". Console.WriteLine( "Do both array elements refer to the same object? " + (a1[0] == a1[1])); // Serialize the array elements. formatter.Serialize(fs, a1); // Deserialize the array elements. fs.Position = 0; Singleton[] a2 = (Singleton[]) formatter.Deserialize(fs); // This displays "True". Console.WriteLine("Do both array elements refer to the same object? " + (a2[0] == a2[1])); // This displays "True". Console.WriteLine("Do all array elements refer to the same object? " + (a1[0] == a2[0])); } catch (SerializationException e) { Console.WriteLine("Failed to serialize. Reason: " + e.Message); throw; } finally { fs.Close(); } } }
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.