IBinarySerialize.Read(BinaryReader) 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.
Generuje typ zdefiniowany przez użytkownika (UDT) lub agregację zdefiniowaną przez użytkownika na podstawie jego formularza binarnego.
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)
Parametry
Strumień BinaryReader, z którego deserializowany jest obiekt.
Przykłady
W poniższym przykładzie pokazano implementację Read metody udT, która używa BinaryReader metody do de serializowania wcześniej utrwalonego udT. W tym przykładzie założono, że funkcja UDT ma dwie właściwości danych: StringValue i DoubleValue.
// The binary layout is as follows:
// Bytes 0 - 19: string text, padded to the right with null characters
// Bytes 20+: Double value
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;
}
' The binary layout is as follows:
' Bytes 0 - 19: string text, padded to the right with null
' characters
' Bytes 20+: double value
Public Sub Read(ByVal r As System.IO.BinaryReader) _
Implements Microsoft.SqlServer.Server.IBinarySerialize.Read
Dim maxStringSize As Integer = 20
Dim chars As Char()
Dim stringEnd As Integer
Dim stringValue As String
Dim value As double
' Read the characters from the binary stream.
chars = r.ReadChars(maxStringSize)
' Find the start of the null character padding.
stringEnd = Array.IndexOf(chars, ControlChars.NullChar)
If StringEnd = 0 Then
stringValue = Nothing
Exit Sub
End If
' Build the string from the array of characters.
stringValue = new String(chars, 0, stringEnd)
' Read the double value from the binary stream.
value = r.ReadDouble()
' Set the object's properties equal to the values.
Me.StringValue = stringValue
Me.DoubleValue = value
End Sub
Uwagi
Metoda Read musi odtworzyć obiekt przy użyciu informacji napisanych przez metodę Write .