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 postaci binarnej.
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 klasy do BinaryReader deseralizacji wcześniej utrwalonego udT. W tym przykładzie przyjęto założenie, ż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
// using Microsoft.SqlServer.Server;
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;
}
Uwagi
Metoda Read musi odtworzyć obiekt przy użyciu informacji zapisanych przez metodę Write .