IBinarySerialize.Read(BinaryReader) Methode

Definition

Generiert einen benutzerdefinierten Typ (UDT) oder ein benutzerdefiniertes Aggregat aus seiner Binärform.

public:
 void Read(System::IO::BinaryReader ^ r);
public void Read (System.IO.BinaryReader r);
abstract member Read : System.IO.BinaryReader -> unit
Public Sub Read (r As BinaryReader)

Parameter

r
BinaryReader

Der BinaryReader-Stream, aus dem das Objekt deserialisiert wird.

Beispiele

Das folgende Beispiel zeigt die Implementierung der Read Methode einer UDT, die ein BinaryReader verwendet, um eine zuvor persistente UDT zu deserialisieren. In diesem Beispiel wird davon ausgegangen, dass der UDT über zwei Dateneigenschaften verfügt: StringValue und DoubleValue.

// The binary layout is as follows:
//    Bytes 0 - 19: string text, padded to the right with null characters
//    Bytes 20+: Double value

// using Microsoft.SqlServer.Server;
public void Read(System.IO.BinaryReader r)
{

    int maxStringSize = 20;
    char[] chars;
    int stringEnd;
    string stringValue;
    double doubleValue;

    // Read the characters from the binary stream.
    chars = r.ReadChars(maxStringSize);

    // Find the start of the null character padding.
    stringEnd = Array.IndexOf(chars, '\0');

    if (stringEnd == 0)
    {
        stringValue = null;
        return;
    }

    // Build the string from the array of characters.
    stringValue = new String(chars, 0, stringEnd);

    // Read the double value from the binary stream.
    doubleValue = r.ReadDouble();

    // Set the object's properties equal to the values.
    this.StringValue = stringValue;
    this.DoubleValue = doubleValue;
}

Hinweise

Die Read -Methode muss Ihr Objekt mithilfe der von der Write -Methode geschriebenen Informationen neu konstituieren.

Gilt für: