Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

SerializationInfo (Clase)

Almacena todos los datos necesarios para serializar o deserializar un objeto. Esta clase no puede heredarse.

System.Object
  System.Runtime.Serialization.SerializationInfo

Espacio de nombres:  System.Runtime.Serialization
Ensamblado:  mscorlib (en mscorlib.dll)

[ComVisibleAttribute(true)]
public sealed class SerializationInfo

El tipo SerializationInfo expone los siguientes miembros.

  NombreDescripción
Método públicoSerializationInfo(Type, IFormatterConverter)Crea una nueva instancia de la clase SerializationInfo.
Método públicoSerializationInfo(Type, IFormatterConverter, Boolean)Inicializa una nueva instancia de la clase SerializationInfo.
Arriba

  NombreDescripción
Propiedad públicaAssemblyNameObtiene o establece el nombre de ensamblado del tipo que se va a serializar sólo durante la serialización.
Propiedad públicaFullTypeNameObtiene o establece el nombre completo del Type que se va a serializar.
Propiedad públicaIsAssemblyNameSetExplicitObtiene si el nombre del ensamblado se ha establecido explícitamente.
Propiedad públicaIsFullTypeNameSetExplicitObtiene si el nombre del tipo completo se ha establecido explícitamente.
Propiedad públicaMemberCountObtiene el número de miembros que se han agregado al almacén SerializationInfo.
Propiedad públicaObjectTypeDevuelve el tipo del objeto que se va a serializar.
Arriba

  NombreDescripción
Método públicoAddValue(String, Boolean)Agrega un valor booleano al almacén SerializationInfo.
Método públicoAddValue(String, Byte)Agrega un valor entero de 8 bits sin signo al almacén SerializationInfo.
Método públicoAddValue(String, Char)Agrega un valor de carácter Unicode al almacén SerializationInfo.
Método públicoAddValue(String, DateTime)Agrega un valor DateTime al almacén SerializationInfo.
Método públicoAddValue(String, Decimal)Agrega un valor decimal al almacén SerializationInfo.
Método públicoAddValue(String, Double)Agrega un valor de punto flotante de precisión doble al almacén SerializationInfo.
Método públicoAddValue(String, Int16)Agrega un valor entero de 16 bits con signo al almacén SerializationInfo.
Método públicoAddValue(String, Int32)Agrega un valor entero de 32 bits con signo al almacén SerializationInfo.
Método públicoAddValue(String, Int64)Agrega un valor entero de 64 bits con signo al almacén SerializationInfo.
Método públicoAddValue(String, Object)Agrega el objeto especificado al almacén SerializationInfo, donde se le asocia un nombre especificado.
Método públicoAddValue(String, SByte)Agrega un valor entero de 8 bits con signo al almacén SerializationInfo.
Método públicoAddValue(String, Single)Agrega un valor de punto flotante de precisión sencilla al almacén SerializationInfo.
Método públicoAddValue(String, UInt16)Agrega un valor entero de 16 bits sin signo al almacén SerializationInfo.
Método públicoAddValue(String, UInt32)Agrega un valor entero de 32 bits sin signo al almacén SerializationInfo.
Método públicoAddValue(String, UInt64)Agrega un valor entero de 64 bits sin signo al almacén SerializationInfo.
Método públicoAddValue(String, Object, Type)Agrega un valor al almacén SerializationInfo, donde value está asociado a name y se serializa con typeType.
Método públicoEquals(Object)Determina si el objeto especificado es igual al objeto actual. (Se hereda de Object).
Método públicoGetBooleanRecupera un valor booleano del almacén SerializationInfo.
Método públicoGetByteRecupera un valor entero de 8 bits sin signo del almacén SerializationInfo.
Método públicoGetCharRecupera un valor de carácter Unicode del almacén SerializationInfo.
Método públicoGetDateTimeRecupera un valor DateTime del almacén SerializationInfo.
Método públicoGetDecimalRecupera un valor decimal del almacén SerializationInfo.
Método públicoGetDoubleRecupera un valor de punto flotante de precisión doble del almacén SerializationInfo.
Método públicoGetEnumeratorDevuelve un objeto SerializationInfoEnumerator que se utiliza para recorrer en iteración los pares de nombre y valor del almacén SerializationInfo.
Método públicoGetHashCode Sirve como una función hash para un tipo en particular. (Se hereda de Object).
Método públicoGetInt16Recupera un valor entero de 16 bits con signo del almacén SerializationInfo.
Método públicoGetInt32Recupera un valor entero de 32 bits con signo del almacén SerializationInfo.
Método públicoGetInt64Recupera un valor entero de 64 bits con signo del almacén SerializationInfo.
Método públicoGetSByteRecupera un valor entero de 8 bits con signo del almacén SerializationInfo.
Método públicoGetSingleRecupera un valor de punto flotante de precisión sencilla del almacén SerializationInfo.
Método públicoGetStringRecupera un valor String del almacén SerializationInfo.
Método públicoGetType Obtiene el Type de la instancia actual. (Se hereda de Object).
Método públicoGetUInt16Recupera un valor entero de 16 bits sin signo del almacén SerializationInfo.
Método públicoGetUInt32Recupera un valor entero de 32 bits sin signo del almacén SerializationInfo.
Método públicoGetUInt64Recupera un valor entero de 64 bits sin signo del almacén SerializationInfo.
Método públicoGetValueRecupera un valor del almacén SerializationInfo.
Método públicoSetTypeEstablece el Type del objeto que se va a serializar.
Método públicoToString Retorna una cadena que representa al objeto actual. (Se hereda de Object).
Arriba

Los objetos con un comportamiento de serialización personalizado utilizan esta clase. Cuando se llama al método GetObjectData en ISerializable o ISerializationSurrogate, rellena el almacén SerializationInfo con el nombre, tipo y valor de cada dato que desea serializar. Durante la deserialización, la función correspondiente extrae esta información.

Los objetos se agregan al almacén SerializationInfo en el momento de la serialización mediante los métodos AddValue y se extraen de SerializationInfo en el momento de la deserialización mediante los métodos GetValue.

Para obtener más información sobre la serialización personalizada, vea Serialización personalizada.

En el siguiente ejemplo de código, se muestra SerializationInfo para la serialización y deserialización personalizadas de varios valores.


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

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 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 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft