Partager via


IBinarySerialize.Write(BinaryWriter) Méthode

Définition

Convertit un type ou un agrégat défini par l'utilisateur en son format binaire pour le rendre persistant.

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)

Paramètres

w
BinaryWriter

Flux BinaryWriter dans lequel le type ou l'agrégat défini par l'utilisateur est sérialisé.

Exemples

L’exemple suivant illustre l’implémentation de la Write méthode d’un type défini par l’utilisateur, qui utilise un BinaryWriter pour sérialiser l’UDT dans le format binaire défini par l’utilisateur. L’objectif du remplissage de caractères Null est de s’assurer que la valeur de chaîne est complètement séparée de la valeur double, de sorte qu’un type défini par l’utilisateur est comparé à un autre dans le code Transact-SQL, que les octets de chaîne sont comparés aux octets de chaîne et que les octets doubles sont comparés à des octets doubles.

// 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);
}

Remarques

Écrivez suffisamment d’informations dans le flux binaire pour permettre à la Read méthode de reconstituer votre UDT ou votre agrégat défini par l’utilisateur.

S’applique à