IBinarySerialize.Write(BinaryWriter) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Konwertuje typ zdefiniowany przez użytkownika (UDT) lub agregację zdefiniowaną przez użytkownika na jego format binarny, aby można było go utrwalać.
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)
Parametry
Strumień BinaryWriter , do którego agregacja zdefiniowana przez użytkownika lub zdefiniowana przez użytkownika jest serializowana.
Przykłady
W poniższym przykładzie pokazano implementację Write metody udT, która używa elementu BinaryWriter do serializacji udT w formacie binarnym zdefiniowanym przez użytkownika. Celem wypełnienia znaków null jest zapewnienie, że wartość ciągu jest całkowicie oddzielona od podwójnej wartości, dzięki czemu jedna funkcja UDT jest porównywana z drugą w kodzie transact-SQL, bajty ciągów są porównywane z bajtami ciągów i podwójne bajty są porównywane z podwójnymi bajtami.
// The binary layout is as follows:
// Bytes 0 - 19: string text, padded to the right with null characters
// Bytes 20+: Double value
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);
}
' The binary layout is as follows:
' Bytes 0 - 19: string text, padded to the right with null characters
' Bytes 20+: Double value
Public Sub Write(ByVal w As System.IO.BinaryWriter) _
Implements Microsoft.SqlServer.Server.IBinarySerialize.Write
Dim maxStringSize As Integer = 20
Dim stringValue As String = "The value of PI: "
Dim paddedString As String
Dim value As Double = 3.14159
' Pad the string from the right with null characters.
paddedString = stringValue.PadRight(maxStringSize, ControlChars.NullChar)
' Write the string value one byte at a time.
Dim i As Integer
For i = 0 To paddedString.Length - 1
w.Write(paddedString(i))
Next
' Write the double value.
w.Write(value)
End Sub
Uwagi
Zapisz wystarczające informacje do strumienia binarnego, aby umożliwić Read metodę odtworzenia agregacji udT lub agregacji zdefiniowanej przez użytkownika.