Eksportuj (0) Drukuj
Rozwiń wszystko
Ten artykuł był przetłumaczony komputerowo. Oryginalny tekst zobaczysz, umieszczając wskaźnik myszy nad zdaniami w artykule. Więcej informacji.
Tłumaczenie
Oryginał

Klasa SerializationInfo

.NET Framework 4.5

Przechowuje wszystkie dane potrzebne do serializacji lub deserializacji obiektu. Klasa ta nie może być dziedziczona.

System.Object
  System.Runtime.Serialization.SerializationInfo

Przestrzeń nazw:  System.Runtime.Serialization
Zestaw:  mscorlib (w mscorlib.dll)

[ComVisibleAttribute(true)]
public sealed class SerializationInfo

Typ SerializationInfo uwidacznia następujące elementy członkowskie.

  NazwaOpis
Metoda publicznaSerializationInfo(Type, IFormatterConverter)Tworzy nowe wystąpienie SerializationInfo klasy.
Metoda publicznaSerializationInfo(Type, IFormatterConverter, Boolean)Inicjuje nowe wystąpienie SerializationInfo klasy.
Początek

  NazwaOpis
Właściwość publicznaAssemblyNamePobiera lub ustawia nazwę zestawu serializować podczas serializacji tylko typ.
Właściwość publicznaFullTypeNameZwraca lub ustawia pełną nazwę Type do serializacji.
Właściwość publicznaIsAssemblyNameSetExplicitPobiera czy jawnie ustawiona nazwa zestawu.
Właściwość publicznaIsFullTypeNameSetExplicitPobiera czy jawnie ustawić wpisz pełną nazwę.
Właściwość publicznaMemberCountLiczbę członków, które zostały dodane do SerializationInfo przechowywania.
Właściwość publicznaObjectTypeZwraca typ obiektu do szeregowania.
Początek

  NazwaOpis
Metoda publicznaAddValue(String, Boolean)Dodaje wartość logiczną w SerializationInfo przechowywania.
Metoda publicznaAddValue(String, Byte)Dodaje wartość 8-bitowa liczba całkowita bez znaku na SerializationInfo przechowywania.
Metoda publicznaAddValue(String, Char)Dodaje wartość znaku Unicode w SerializationInfo przechowywania.
Metoda publicznaAddValue(String, DateTime)Dodaje DateTime wartości do SerializationInfo przechowywania.
Metoda publicznaAddValue(String, Decimal)Dodaje wartość dziesiętną do SerializationInfo przechowywania.
Metoda publicznaAddValue(String, Double)Dodaje wartość zmiennoprzecinkowa podwójnej precyzji w SerializationInfo przechowywania.
Metoda publicznaAddValue(String, Int16)Dodaje wartość do 16-bitowa liczba całkowita ze znakiem SerializationInfo przechowywania.
Metoda publicznaAddValue(String, Int32)Dodaje wartość do 32-bitowa liczba całkowita ze znakiem SerializationInfo przechowywania.
Metoda publicznaAddValue(String, Int64)Dodaje wartość 64-bitowa liczba całkowita ze znakiem do SerializationInfo przechowywania.
Metoda publicznaAddValue(String, Object)Dodaje określony obiekt do SerializationInfo magazynu, w którym jest skojarzony z określonej nazwy.
Metoda publicznaAddValue(String, SByte)Dodaje wartość 8-bitowa liczba całkowita ze znakiem do SerializationInfo przechowywania.
Metoda publicznaAddValue(String, Single)Dodaje wartość zmiennoprzecinkowa pojedynczej precyzji w SerializationInfo przechowywania.
Metoda publicznaAddValue(String, UInt16)Dodaje wartość 16-bitowa liczba całkowita bez znaku na SerializationInfo przechowywania.
Metoda publicznaAddValue(String, UInt32)Dodaje wartość 32-bitowa liczba całkowita bez znaku na SerializationInfo przechowywania.
Metoda publicznaAddValue(String, UInt64)Dodaje wartość 64-bitowa liczba całkowita bez znaku na SerializationInfo przechowywania.
Metoda publicznaAddValue(String, Object, Type)Dodaje wartość do SerializationInfo przechowywania, gdzie value jest skojarzony z name i jest seryjny jako Typetype.
Metoda publicznaEquals(Object) Określa, czy określony obiekt jest równy bieżącemu obiektowi. (Odziedziczone z Object).
Metoda publicznaGetBooleanPobiera wartość logiczną z SerializationInfo przechowywania.
Metoda publicznaGetBytePobiera wartość 8-bitowa liczba całkowita bez znaku od SerializationInfo przechowywania.
Metoda publicznaGetCharPobiera wartość znaku Unicode z SerializationInfo przechowywania.
Metoda publicznaGetDateTimePobiera DateTime wartości z SerializationInfo przechowywania.
Metoda publicznaGetDecimalPobiera wartość dziesiętną z SerializationInfo przechowywania.
Metoda publicznaGetDoublePobiera wartość zmiennoprzecinkowa podwójnej precyzji, z SerializationInfo przechowywania.
Metoda publicznaGetEnumeratorZwraca SerializationInfoEnumerator służą do iteracji pary nazwa wartość w SerializationInfo przechowywania.
Metoda publicznaGetHashCode Służy jako domyślna funkcja skrótu. (Odziedziczone z Object).
Metoda publicznaGetInt16Pobiera wartość 16-bitowa liczba całkowita ze znakiem z SerializationInfo przechowywania.
Metoda publicznaGetInt32Pobiera wartość 32-bitowa liczba całkowita ze znakiem z SerializationInfo przechowywania.
Metoda publicznaGetInt64Pobiera wartość całkowita 64-bitowym z SerializationInfo przechowywania.
Metoda publicznaGetSBytePobiera wartość 8-bitowa liczba całkowita ze znakiem, od SerializationInfo przechowywania.
Metoda publicznaGetSinglePobiera wartość zmiennoprzecinkowa pojedynczej precyzji, z SerializationInfo przechowywania.
Metoda publicznaGetStringPobiera String wartości z SerializationInfo przechowywania.
Metoda publicznaGetType Pobiera Type bieżącej instancji. (Odziedziczone z Object).
Metoda publicznaGetUInt16Pobiera wartość 16-bitowa liczba całkowita bez znaku od SerializationInfo przechowywania.
Metoda publicznaGetUInt32Pobiera wartość 32-bitowa liczba całkowita bez znaku od SerializationInfo przechowywania.
Metoda publicznaGetUInt64Pobiera wartość 64-bitowa liczba całkowita bez znaku od SerializationInfo przechowywania.
Metoda publicznaGetValuePobiera wartość z SerializationInfo przechowywania.
Metoda publicznaSetTypeZestawy Type obiektu do serializacji.
Metoda publicznaToString Zwraca ciąg, który reprezentuje bieżący obiekt. (Odziedziczone z Object).
Początek

Ta klasa jest używana przez obiekty z zachowaniem serializacji niestandardowej. GetObjectData Albo metody ISerializable lub ISerializationSurrogate wypełnia SerializationInfo przechowywać nazwę, typ i wartość każdego kawałka informacje chce serializować. Podczas deserializacji odpowiednią funkcję można wyodrębnić te informacje.

Obiekty są dodawane do SerializationInfo przechowywać serializacji czasu za pomocą AddValue metody i ekstrahowana z SerializationInfo przechowywane przy użyciu deserializacji GetValue metody.

Aby uzyskać więcej informacji na temat dostosowywania serializacji, zobacz [<topic://cpconCustomSerialization>].

Poniższy przykład kodu pokazuje SerializationInfo do serializacji niestandardowej i deserializacji różnych wartości.


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

Obsługiwane w: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Obsługiwane w: 4, 3.5 z dodatkiem SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 z dodatkiem R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista z dodatkiem SP2, Windows Server 2008 (instalacja roli Server Core jest nieobsługiwana), Windows Server 2008 R2 (instalacja roli Server Core jest obsługiwana, gdy jest zainstalowany dodatek SP1 lub nowszy; procesory Itanium nie są obsługiwane)

Program .NET Framework nie obsługuje wszystkich wersji każdej platformy. Aby uzyskać listę wszystkich obsługiwanych wersji, zobacz Wymagania systemowe programu .NET Framework.

Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.

Zawartość społeczności

Dodaj
Pokaż:
© 2014 Microsoft