ISyncFilter.Serialize 方法
由派生类重写时,将筛选器序列化到一个字节数组。
命名空间: Microsoft.Synchronization
程序集: Microsoft.Synchronization(在 microsoft.synchronization.dll 中)
语法
声明
Function Serialize As Byte()
用法
Dim instance As ISyncFilter
Dim returnValue As Byte()
returnValue = instance.Serialize
byte[] Serialize ()
array<unsigned char>^ Serialize ()
byte[] Serialize ()
function Serialize () : byte[]
返回值
序列化到字节数组的筛选器数据。
备注
如果不需要序列化筛选器,则此方法可引发 NotImplementedException。
示例
下面的示例使用 BinaryWriter 对象将自定义筛选器序列化为一个字节数组。
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);
}
}
请参阅
参考
ISyncFilter 接口
ISyncFilter 成员
Microsoft.Synchronization 命名空间