ISyncFilterDeserializer::Deserialize Method
When overridden in a derived class, creates an ISyncFilter object and initializes it by using serialized data.
Assembly: Microsoft.Synchronization (in Microsoft.Synchronization.dll)
Parameters
- data
- Type: array<System::Byte>
The serialized filter data.
Return Value
Type: Microsoft.Synchronization::ISyncFilterThe newly created ISyncFilter object that is initialized by using the serialized data that is contained in data.
This method deserializes data that is produced by the Serialize method for the associated custom filter.
The following example uses a BinaryReader object to deserialize the custom filter from a byte array.
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); } }
Show: