IBinarySerialize.Read(BinaryReader) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Генерирует пользовательский тип (UDT) или пользовательскую агрегатную функцию из соответствующей двоичной формы.
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)
Параметры
Поток BinaryReader, из которого выполняется десериализация объекта.
Примеры
В следующем примере показана Read реализация метода определяемого пользователем типа , который использует BinaryReader для десериализации ранее сохраненного определяемого пользователем типа. В этом примере предполагается, что определяемый пользователем тип имеет два свойства данных: StringValue
и 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;
}
Комментарии
Метод Read должен воссоздать объект, используя сведения, записанные методом Write .