Informations
Le sujet que vous avez demandé est indiqué ci-dessous. Toutefois, ce sujet ne figure pas dans la bibliothèque.
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

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 publiqueSerializationInfoCrée 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é publiqueIsAssemblyNameSetExplicitRetourne la valeur true si le nom de l'assembly a été défini explicitement.
Propriété publiqueIsFullTypeNameSetExplicitRetourne la valeur true 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'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégéeFinalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (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 pour un type particulier. (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 protégéeMemberwiseCloneCrée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publiqueSetTypeDéfinit Type de l'objet à sérialiser.
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actuel. (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 [<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();
        }
    }
}


.NET Framework

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

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

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.
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.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.

Ajouts de la communauté

Afficher:
© 2014 Microsoft. Tous droits réservés.