(0) exportieren Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

SerializationInfo-Klasse

Enthält sämtliche zum Serialisieren bzw. Deserialisieren eines Objekts benötigten Daten. Diese Klasse kann nicht vererbt werden.

System.Object
  System.Runtime.Serialization.SerializationInfo

Namespace:  System.Runtime.Serialization
Assembly:  mscorlib (in mscorlib.dll)

[ComVisibleAttribute(true)]
public sealed class SerializationInfo

Der SerializationInfo-Typ macht die folgenden Member verfügbar.

  NameBeschreibung
Öffentliche MethodeSerializationInfo(Type, IFormatterConverter)Erstellt eine neue Instanz der SerializationInfo-Klasse.
Öffentliche MethodeSerializationInfo(Type, IFormatterConverter, Boolean)Initialisiert eine neue Instanz der SerializationInfo-Klasse.
Zum Seitenanfang

  NameBeschreibung
Öffentliche EigenschaftAssemblyNameRuft den Assemblynamen des zu serialisierenden Typs nur während der Serialisierung ab oder legt diesen fest.
Öffentliche EigenschaftFullTypeNameRuft den vollständigen Namen des zu serialisierenden Type ab oder legt diesen fest.
Öffentliche EigenschaftIsAssemblyNameSetExplicitRuft ab, ob der Assemblyname explizit festgelegt wurde.
Öffentliche EigenschaftIsFullTypeNameSetExplicitRuft ab, ob der vollständige Typname explizit festgelegt wurde.
Öffentliche EigenschaftMemberCountRuft die Anzahl der Member ab, die dem SerializationInfo-Speicher hinzugefügt wurden.
Öffentliche EigenschaftObjectTypeGibt den Typ des Objekts zurück, der serialisiert werden soll.
Zum Seitenanfang

  NameBeschreibung
Öffentliche MethodeAddValue(String, Boolean)Fügt dem SerializationInfo-Speicher einen booleschen Wert hinzu.
Öffentliche MethodeAddValue(String, Byte)Fügt dem SerializationInfo-Speicher den Wert einer 8-Bit-Ganzzahl ohne hinzu.
Öffentliche MethodeAddValue(String, Char)Fügt dem SerializationInfo-Speicher den Wert eines Unicode-Zeichens hinzu.
Öffentliche MethodeAddValue(String, DateTime)Fügt dem SerializationInfo-Speicher einen DateTime-Wert hinzu.
Öffentliche MethodeAddValue(String, Decimal)Fügt dem SerializationInfo-Speicher einen Decimal-Wert hinzu.
Öffentliche MethodeAddValue(String, Double)Fügt dem SerializationInfo-Speicher einen Gleitkommawert mit doppelter Genauigkeit hinzu.
Öffentliche MethodeAddValue(String, Int16)Fügt dem SerializationInfo-Speicher den Wert einer 16-Bit-Ganzzahl mit Vorzeichen hinzu.
Öffentliche MethodeAddValue(String, Int32)Fügt dem SerializationInfo-Speicher den Wert einer 32-Bit-Ganzzahl mit Vorzeichen hinzu.
Öffentliche MethodeAddValue(String, Int64)Fügt dem SerializationInfo-Speicher den Wert einer 64-Bit-Ganzzahl mit Vorzeichen hinzu.
Öffentliche MethodeAddValue(String, Object)Fügt dem SerializationInfo-Speicher das angegebene Objekt hinzu, wo diesem ein angegebener Name zugeordnet wird.
Öffentliche MethodeAddValue(String, SByte)Fügt dem SerializationInfo-Speicher den Wert einer 8-Bit-Ganzzahl mit Vorzeichen hinzu.
Öffentliche MethodeAddValue(String, Single)Fügt dem SerializationInfo-Speicher einen Gleitkommawert mit einfacher Genauigkeit hinzu.
Öffentliche MethodeAddValue(String, UInt16)Fügt dem SerializationInfo-Speicher den Wert einer 16-Bit-Ganzzahl ohne Vorzeichen hinzu.
Öffentliche MethodeAddValue(String, UInt32)Fügt dem SerializationInfo-Speicher den Wert einer 32-Bit-Ganzzahl ohne Vorzeichen hinzu.
Öffentliche MethodeAddValue(String, UInt64)Fügt dem SerializationInfo-Speicher den Wert einer 64-Bit-Ganzzahl ohne Vorzeichen hinzu.
Öffentliche MethodeAddValue(String, Object, Type)Fügt dem SerializationInfo-Speicher einen Wert hinzu, wobei der value dem name zugeordnet und als Typetype serialisiert wird.
Öffentliche MethodeEquals(Object)Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist. (Von Object geerbt.)
Öffentliche MethodeGetBooleanRuft einen Boolean-Wert aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeGetByteRuft den Wert einer 8-Bit-Ganzzahl ohne Vorzeichen aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeGetCharRuft den Wert eines Unicode-Zeichens aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeGetDateTimeRuft einen DateTime-Wert aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeGetDecimalRuft einen Decimal-Wert aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeGetDoubleRuft einen Gleitkommawert mit doppelter Genauigkeit aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeGetEnumeratorGibt einen SerializationInfoEnumerator zurück, mit dem die Name-Wert-Paare im SerializationInfo-Speicher durchlaufen werden.
Öffentliche MethodeGetHashCodeFungiert als die Standardhashfunktion. (Von Object geerbt.)
Öffentliche MethodeGetInt16Ruft den Wert einer 16-Bit-Ganzzahl mit Vorzeichen aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeGetInt32Ruft den Wert einer 32-Bit-Ganzzahl mit Vorzeichen aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeGetInt64Ruft den Wert einer 64-Bit-Ganzzahl mit Vorzeichen aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeGetSByteRuft den Wert einer 8-Bit-Ganzzahl mit Vorzeichen aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeGetSingleRuft einen Gleitkommawert mit einfacher Genauigkeit aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeGetStringRuft einen String-Wert aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeGetTypeRuft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche MethodeGetUInt16Ruft den Wert einer 16-Bit-Ganzzahl ohne Vorzeichen aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeGetUInt32Ruft den Wert einer 32-Bit-Ganzzahl ohne Vorzeichen aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeGetUInt64Ruft den Wert einer 64-Bit-Ganzzahl ohne Vorzeichen aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeGetValueRuft einen Wert aus dem SerializationInfo-Speicher ab.
Öffentliche MethodeSetTypeLegt den Type des zu serialisierenden Objekts fest.
Öffentliche MethodeToStringGibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

Diese Klasse wird von Objekten mit benutzerdefiniertem Serialisierungsverhalten verwendet. Die GetObjectData-Methode für ISerializable oder ISerializationSurrogate füllt den SerializationInfo-Speicher mit dem Namen, dem Typ und dem Wert aller zu serialisierenden Informationen. Während der Deserialisierung können diese Informationen von der entsprechenden Funktion extrahiert werden.

Objekte werden während der Serialisierung mithilfe der AddValue-Methoden dem SerializationInfo-Speicher hinzugefügt und während der Deserialisierung mithilfe der GetValue-Methoden aus der SerializationInfo-Speicher extrahiert.

Weitere Informationen über das Anpassen der Serialisierung finden Sie unter Benutzerdefinierte Serialisierung.

Im folgenden folgende Codebeispiel werden die SerializationInfo für die benutzerdefinierte Serialisierung und Deserialisierung verschiedener Werte veranschaulicht.


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

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 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 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft