ISyncFilter.Serialize 메서드
파생 클래스에서 재정의되는 경우 필터를 바이트 배열로 직렬화합니다.
네임스페이스: Microsoft.Synchronization
어셈블리: microsoft.synchronization.dll의 Microsoft.Synchronization
구문
‘선언
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 네임스페이스