IBinarySerialize.Write(BinaryWriter) Methode

Definition

Konvertiert einen benutzerdefinierten Typ (UDT) oder ein benutzerdefiniertes Aggregat in seine Binärform, sodass er/es behalten werden kann.

public:
 void Write(System::IO::BinaryWriter ^ w);
public void Write (System.IO.BinaryWriter w);
abstract member Write : System.IO.BinaryWriter -> unit
Public Sub Write (w As BinaryWriter)

Parameter

w
BinaryWriter

Der BinaryWriter-Stream, in den der UDT oder das benutzerdefinierte Aggregat serialisiert wird.

Beispiele

Das folgende Beispiel zeigt die Implementierung der Write Methode einer UDT, die ein BinaryWriter verwendet, um die UDT im benutzerdefinierten Binärformat zu serialisieren. Der Zweck der NULL-Zeichenfüllung besteht darin, sicherzustellen, dass der Zeichenfolgenwert vollständig vom Double-Wert getrennt ist, sodass ein UDT mit einem anderen in Transact-SQL-Code verglichen wird, Zeichenfolgenbytes mit Zeichenfolgenbytes und doppelte Bytes mit doppelten Bytes verglichen werden.

// 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 Write(System.IO.BinaryWriter w)
{
    int maxStringSize = 20;
    string stringValue = "The value of PI: ";
    string paddedString;
    double value = 3.14159;

    // Pad the string from the right with null characters.
    paddedString = stringValue.PadRight(maxStringSize, '\0');

    // Write the string value one byte at a time.
    for (int i = 0; i < paddedString.Length; i++)
    {
        w.Write(paddedString[i]);
    }

    // Write the double value.
    w.Write(value);
}

Hinweise

Schreiben Sie genügend Informationen in den binären Stream, damit die Read Methode Ihr UDT oder benutzerdefiniertes Aggregat neu konstituieren kann.

Gilt für: