Serialize-Methode

Serialisiert, wenn durch eine abgeleitete Klasse überschrieben, den Filter in ein Bytearray.

Namespace:  Microsoft.Synchronization
Assembly:  Microsoft.Synchronization (in Microsoft.Synchronization.dll)

Syntax

'Declaration
Function Serialize As Byte()
'Usage
Dim instance As ISyncFilter
Dim returnValue As Byte()

returnValue = instance.Serialize()
byte[] Serialize()
array<unsigned char>^ Serialize()
abstract Serialize : unit -> byte[] 
function Serialize() : byte[]

Rückgabewert

Typ: array<System. . :: . .Byte> [] () [] []
Die Filterdaten, die in ein Bytearray serialisiert werden.

Hinweise

Wenn eine Serialisierung des Filters nicht erforderlich ist, kann diese Methode NotImplementedException auslösen.

Beispiele

Im folgenden Beispiel wird ein BinaryWriter-Objekt verwendet, um den benutzerdefinierten Filter in ein Bytearray zu serialisieren.

Public Function Serialize() As Byte() Implements ISyncFilter.Serialize
    Dim memStream As New MemoryStream()
    Dim biWriter As New BinaryWriter(memStream, Encoding.Unicode)

    SerializeToBinaryWriter(biWriter)

    Return memStream.GetBuffer()
End Function

Private Sub SerializeToBinaryWriter(ByVal biWriter As BinaryWriter)
    Dim hasFilterForgottenKnowledge As Boolean = (_filterForgottenKnowledge IsNot Nothing)

    biWriter.Write(hasFilterForgottenKnowledge)

    biWriter.Write(_filter)

    If _filterForgottenKnowledge IsNot Nothing Then
        Dim serializedForgottenKnowledge As Byte() = _filterForgottenKnowledge.Serialize()
        biWriter.Write(serializedForgottenKnowledge.Length)
        biWriter.Write(serializedForgottenKnowledge)
    End If
End Sub
public byte[] Serialize()
{
    MemoryStream memStream = new MemoryStream();
    BinaryWriter biWriter = new BinaryWriter(memStream, Encoding.Unicode);

    SerializeToBinaryWriter(biWriter);

    return memStream.GetBuffer();
}

private void SerializeToBinaryWriter(BinaryWriter biWriter)
{
    bool hasFilterForgottenKnowledge = (null != _filterForgottenKnowledge);

    biWriter.Write(hasFilterForgottenKnowledge);

    biWriter.Write(_filter);

    if (null != _filterForgottenKnowledge)
    {
        byte[] serializedForgottenKnowledge = _filterForgottenKnowledge.Serialize();
        biWriter.Write(serializedForgottenKnowledge.Length);
        biWriter.Write(serializedForgottenKnowledge);
    }
}

Siehe auch

Verweis

ISyncFilter Schnittstelle

ISyncFilter-Member

Microsoft.Synchronization-Namespace