IBinarySerialize.Write(BinaryWriter) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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.