Cette page vous a-t-elle été utile ?
Votre avis sur ce contenu est important. N'hésitez pas à nous faire part de vos commentaires.
Vous avez d'autres commentaires ?
1500 caractères restants
Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
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.

System.Object
  System.Runtime.Serialization.SerializationInfo

Espace de noms :  System.Runtime.Serialization
Assembly :  mscorlib (dans mscorlib.dll)

[ComVisibleAttribute(true)]
public sealed class SerializationInfo

Le type SerializationInfo expose les membres suivants.

  NomDescription
Méthode publiqueSerializationInfo(Type, IFormatterConverter)Crée une instance de la classe SerializationInfo.
Méthode publiqueSerializationInfo(Type, IFormatterConverter, Boolean)Initialise une nouvelle instance de la classe SerializationInfo.
Début

  NomDescription
Propriété publiqueAssemblyNameObtient ou définit le nom d'assembly du type à sérialiser pendant la sérialisation uniquement.
Propriété publiqueFullTypeNameObtient ou définit le nom complet de Type à sérialiser.
Propriété publiqueIsAssemblyNameSetExplicitObtient une valeur indiquant si le nom de l'assembly a été défini explicitement.
Propriété publiqueIsFullTypeNameSetExplicitObtient une valeur indiquant si le nom de type complet a été défini explicitement.
Propriété publiqueMemberCountObtient le nombre de membres qui ont été ajoutés au magasin SerializationInfo.
Propriété publiqueObjectTypeRetourne le type de l'objet à sérialiser.
Début

  NomDescription
Méthode publiqueAddValue(String, Boolean)Ajoute une valeur booléenne au magasin SerializationInfo.
Méthode publiqueAddValue(String, Byte)Ajoute une valeur entière 8 bits non signée dans le magasin SerializationInfo.
Méthode publiqueAddValue(String, Char)Ajoute une valeur des caractères Unicode dans le magasin SerializationInfo.
Méthode publiqueAddValue(String, DateTime)Ajoute une valeur DateTime dans le magasin SerializationInfo.
Méthode publiqueAddValue(String, Decimal)Ajoute une valeur décimale dans le magasin SerializationInfo.
Méthode publiqueAddValue(String, Double)Ajoute une valeur à virgule flottante double précision dans le magasin SerializationInfo.
Méthode publiqueAddValue(String, Int16)Ajoute une valeur entière 16 bits signée dans le magasin SerializationInfo.
Méthode publiqueAddValue(String, Int32)Ajoute une valeur entière 32 bits signée dans le magasin SerializationInfo.
Méthode publiqueAddValue(String, Int64)Ajoute une valeur entière 64 bits signée dans le magasin SerializationInfo.
Méthode publiqueAddValue(String, Object)Ajoute l'objet spécifié dans le magasin SerializationInfo, où il est associé à un nom spécifié.
Méthode publiqueAddValue(String, SByte)Ajoute une valeur entière 8 bits signée dans le magasin SerializationInfo.
Méthode publiqueAddValue(String, Single)Ajoute une valeur à virgule flottante simple précision dans le magasin SerializationInfo.
Méthode publiqueAddValue(String, UInt16)Ajoute une valeur entière 16 bits non signée dans le magasin SerializationInfo.
Méthode publiqueAddValue(String, UInt32)Ajoute une valeur entière 32 bits non signée dans le magasin SerializationInfo.
Méthode publiqueAddValue(String, UInt64)Ajoute une valeur entière 64 bits non signée dans le magasin SerializationInfo.
Méthode publiqueAddValue(String, Object, Type)Ajoute une valeur au magasin SerializationInfo, où value est associé à name et est sérialisé en tant que Typetype.
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode publiqueGetBooleanRécupère une valeur booléenne du magasin SerializationInfo.
Méthode publiqueGetByteRécupère une valeur entière 8 bits non signée du magasin SerializationInfo.
Méthode publiqueGetCharRécupère une valeur des caractères Unicode du magasin SerializationInfo.
Méthode publiqueGetDateTimeRécupère une valeur DateTime du magasin SerializationInfo.
Méthode publiqueGetDecimalRécupère une valeur décimale du magasin SerializationInfo.
Méthode publiqueGetDoubleRécupère une valeur à virgule flottante double précision du magasin SerializationInfo.
Méthode publiqueGetEnumeratorRetourne SerializationInfoEnumerator utilisé pour itérer au sein des paires nom-valeur dans le magasin SerializationInfo.
Méthode publiqueGetHashCodeSert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publiqueGetInt16Récupère une valeur entière 16 bits signée du magasin SerializationInfo.
Méthode publiqueGetInt32Récupère une valeur entière 32 bits signée du magasin SerializationInfo.
Méthode publiqueGetInt64Récupère une valeur entière 64 bits signée du magasin SerializationInfo.
Méthode publiqueGetSByteRécupère une valeur entière 8 bits signée du magasin SerializationInfo.
Méthode publiqueGetSingleRécupère une valeur à virgule flottante simple précision du magasin SerializationInfo.
Méthode publiqueGetStringRécupère une valeur String du magasin SerializationInfo.
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueGetUInt16Récupère une valeur entière 16 bits non signée du magasin SerializationInfo.
Méthode publiqueGetUInt32Récupère une valeur entière 32 bits non signée du magasin SerializationInfo.
Méthode publiqueGetUInt64Récupère une valeur entière 64 bits non signée du magasin SerializationInfo.
Méthode publiqueGetValueRécupère une valeur du magasin SerializationInfo.
Méthode publiqueSetTypeDéfinit Type de l'objet à sérialiser.
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Début

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 Sérialisation personnalisée.

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.Text;
using System.IO;
// Add references to Soap and Binary formatters.
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization.Formatters.Soap ;
using System.Runtime.Serialization;


[Serializable]
public class MyItemType : ISerializable
{
    public MyItemType()
    {
        // Empty constructor required to compile.
    }

    // The value to serialize.
    private string myProperty_value;

    public string MyProperty
    {
        get { return myProperty_value; }
        set { myProperty_value = value; }
    }

    // Implement this method to serialize data. The method is called 
    // on serialization.
    public void GetObjectData(SerializationInfo info, StreamingContext context)
    {
        // Use the AddValue method to specify serialized values.
        info.AddValue("props", myProperty_value, typeof(string));

    }

    // The special constructor is used to deserialize values.
    public MyItemType(SerializationInfo info, StreamingContext context)
    {
        // Reset the property value using the GetValue method.
        myProperty_value = (string) info.GetValue("props", typeof(string));
    }
}

// This is a console application. 
public static class Test
{
    static void Main()
    {
        // This is the name of the file holding the data. You can use any file extension you like.
        string fileName = "dataStuff.myData";

        // Use a BinaryFormatter or SoapFormatter.
        IFormatter formatter = new BinaryFormatter();
        //IFormatter formatter = new SoapFormatter();

        Test.SerializeItem(fileName, formatter); // Serialize an instance of the class.
        Test.DeserializeItem(fileName, formatter); // Deserialize the instance.
        Console.WriteLine("Done");
        Console.ReadLine();
    }

    public static void SerializeItem(string fileName, IFormatter formatter)
    {
        // Create an instance of the type and serialize it.
        MyItemType t = new MyItemType();
        t.MyProperty = "Hello World";

        FileStream s = new FileStream(fileName , FileMode.Create);
        formatter.Serialize(s, t);            
        s.Close();
    }


    public static void DeserializeItem(string fileName, IFormatter formatter)
    {
        FileStream s = new FileStream(fileName, FileMode.Open);
        MyItemType t = (MyItemType)formatter.Deserialize(s);
        Console.WriteLine(t.MyProperty);            
    }       
}


.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

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.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft