在派生类中重写时,创建一个 ISyncFilter 对象并使用序列化数据初始化该对象。
命名空间: Microsoft.Synchronization
程序集: Microsoft.Synchronization(在 microsoft.synchronization.dll 中)
语法
声明
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
序列化的筛选器数据。
返回值
新创建的 ISyncFilter 对象,通过使用 data 中包含的序列化数据初始化该对象。
备注
此方法反序列化 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 命名空间