Condividi tramite


Metodo ISyncFilterDeserializer.Deserialize

Se sottoposto a override in una classe derivata, crea un oggetto ISyncFilter e lo inizializza utilizzando dati serializzati.

Spazio dei nomi: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (in microsoft.synchronization.dll)

Sintassi

'Dichiarazione
Function Deserialize ( _
    data As Byte() _
) As ISyncFilter
'Utilizzo
Dim instance As ISyncFilterDeserializer
Dim data As Byte()
Dim returnValue As ISyncFilter

returnValue = instance.Deserialize(data)
ISyncFilter Deserialize (
    byte[] data
)
ISyncFilter^ Deserialize (
    array<unsigned char>^ data
)
ISyncFilter Deserialize (
    byte[] data
)
function Deserialize (
    data : byte[]
) : ISyncFilter

Parametri

  • data
    Dati serializzati del filtro.

Valore restituito

Oggetto ISyncFilter appena creato inizializzato utilizzando i dati serializzati contenuti in data.

Osservazioni

Questo metodo deserializza i dati generati dal metodo Serialize per il filtro personalizzato associato.

Esempio

Nell'esempio seguente viene utilizzato un oggetto BinaryReader per deserializzare il filtro personalizzato da una matrice di byte.

Public Function Deserialize(ByVal data As Byte()) As ISyncFilter Implements ISyncFilterDeserializer.Deserialize
    Dim memStream As New MemoryStream(data, 0, data.Length, False, True)
    Dim biReader As New BinaryReader(memStream, Encoding.Unicode)

    DeserializeFromBinaryReader(biReader, memStream)

    Return Me
End Function

Private Sub DeserializeFromBinaryReader(ByVal biReader As BinaryReader, ByVal memStream As MemoryStream)
    Dim hasFilterForgottenKnowledge As Boolean = biReader.ReadBoolean()

    _filter = biReader.ReadString()

    If hasFilterForgottenKnowledge Then
        Dim cbForgottenKnowledge As Integer = biReader.ReadInt32()
        Dim rawBuffer As Byte() = biReader.ReadBytes(cbForgottenKnowledge)
        _filterForgottenKnowledge = ForgottenKnowledge.Deserialize(ContactStore.ContactIdFormatGroup, rawBuffer)
    End If
End Sub
public ISyncFilter Deserialize(byte[] data)
{
    MemoryStream memStream = new MemoryStream(data, 0, data.Length, false, true);
    BinaryReader biReader = new BinaryReader(memStream, Encoding.Unicode);

    DeserializeFromBinaryReader(biReader, memStream);

    return this;
}

private void DeserializeFromBinaryReader(BinaryReader biReader, MemoryStream memStream)
{
    bool hasFilterForgottenKnowledge = biReader.ReadBoolean();

    _filter = biReader.ReadString();

    if (hasFilterForgottenKnowledge)
    {
        int cbForgottenKnowledge = biReader.ReadInt32();
        byte[] rawBuffer = biReader.ReadBytes(cbForgottenKnowledge);
        _filterForgottenKnowledge = ForgottenKnowledge.Deserialize(ContactStore.ContactIdFormatGroup,
            rawBuffer);
    }
}

Vedere anche

Riferimento

Interfaccia ISyncFilterDeserializer
Membri ISyncFilterDeserializer
Spazio dei nomi Microsoft.Synchronization