IBinarySerialize.Write(BinaryWriter) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Converte um UDT (tipo definido pelo usuário) ou uma agregação definida pelo usuário em seu formato binário para que possa ser persistente.
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)
Parâmetros
O fluxo BinaryWriter para o qual a agregação definida pelo usuário ou UDT é serializada.
Exemplos
O exemplo a seguir mostra a implementação do Write método de um UDT, que usa um BinaryWriter para serializar o UDT no formato binário definido pelo usuário. A finalidade do preenchimento de caractere nulo é garantir que o valor da cadeia de caracteres seja completamente separado do valor duplo, para que um UDT seja comparado a outro no código Transact-SQL, os bytes de cadeia de caracteres sejam comparados a bytes de cadeia de caracteres e bytes duplos sejam comparados a bytes duplos.
// 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);
}
Comentários
Escreva informações suficientes no fluxo binário para permitir que o Read método reconstitua o UDT ou a agregação definida pelo usuário.