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 des NULL-Zeichenabstands besteht darin, sicherzustellen, dass der Zeichenfolgenwert vollständig vom Double-Wert getrennt ist, sodass ein UDT mit einem anderen in Transact-SQL-Code, 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 wiederherstellen kann.

Gilt für: