다음을 통해 공유


ISyncFilterDeserializer.Deserialize 메서드

파생 클래스에서 재정의되는 경우 ISyncFilter 개체를 만들고 직렬화된 데이터를 사용하여 이 개체를 초기화합니다.

네임스페이스: Microsoft.Synchronization
어셈블리: microsoft.synchronization.dll의 Microsoft.Synchronization

구문

‘선언
Function Deserialize ( _
    data As Byte() _
) As ISyncFilter
‘사용 방법
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

매개 변수

  • data
    직렬화된 필터 데이터입니다.

반환 값

data에 포함되어 있는 직렬화된 데이터를 사용하여 초기화되는 새로 만든 ISyncFilter 개체입니다.

주의

이 메서드는 연결된 사용자 지정 필터의 Serialize 메서드에 의해 생성되는 데이터를 역직렬화합니다.

예제

다음 예제에서는 BinaryReader 개체를 사용하여 바이트 배열의 사용자 지정 필터를 역직렬화합니다.

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

참고 항목

참조

ISyncFilterDeserializer 인터페이스
ISyncFilterDeserializer 멤버
Microsoft.Synchronization 네임스페이스