AnchorEnumerationContext.ReportChanges 메서드
EnumerateChanges를 호출하는 동안 검색된 변경 내용 집합을 보고합니다.
네임스페이스: Microsoft.Synchronization.SimpleProviders
어셈블리: microsoft.synchronization.simpleproviders.dll의 Microsoft.Synchronization.SimpleProviders
구문
‘선언
Public Sub ReportChanges ( _
itemChanges As IEnumerable(Of LocalItemChange), _
updatedAnchor As Byte() _
)
‘사용 방법
Dim instance As AnchorEnumerationContext
Dim itemChanges As IEnumerable(Of LocalItemChange)
Dim updatedAnchor As Byte()
instance.ReportChanges(itemChanges, updatedAnchor)
public void ReportChanges (
IEnumerable<LocalItemChange> itemChanges,
byte[] updatedAnchor
)
public:
void ReportChanges (
IEnumerable<LocalItemChange^>^ itemChanges,
array<unsigned char>^ updatedAnchor
)
public void ReportChanges (
IEnumerable<LocalItemChange> itemChanges,
byte[] updatedAnchor
)
public function ReportChanges (
itemChanges : IEnumerable<LocalItemChange>,
updatedAnchor : byte[]
)
매개 변수
- itemChanges
로컬 복제본 항목의 변경 내용에 대한 메타데이터가 포함된 LocalItemChange 개체의 컬렉션입니다.
- updatedAnchor
타임스탬프와 같은 열거형 앵커를 나타내는 바이트 배열입니다.
예외
예외 형식 | 조건 |
---|---|
같은 세션에서 ReportItemsAndAutodetectDeletes를 호출했습니다. |
예제
다음 코드 예제에서는 컨텍스트 개체에서 호출되는 ReportChanges 및 EnumerateChanges 메서드에 전달되는 AnchorEnumerationContext 개체를 보여 줍니다. 전체 응용 프로그램의 맥락에서 이 코드를 보려면 Sync Framework SDK 및 Code Gallery에서 사용할 수 있는 "Sync101 using Simple Sync Provider"
응용 프로그램을 참조하십시오.
public override void EnumerateChanges(byte[] anchor, AnchorEnumerationContext context)
{
List<LocalItemChange> itemChanges = new List<LocalItemChange>();
int startIndex = -1;
if (anchor != null)
{
startIndex = _store.Changes.IndexOfKey(BitConverter.ToUInt64(anchor, 0));
}
for (int i = startIndex + 1; i < _store.Changes.Count; i++)
{
itemChanges.Add(_store.Changes.Values[i]);
}
// If the anchor is corrupt or out of date we could revert back to
// full enumeration mode for this session, and enumerate all items.
// This is done by calling context.ReportItemsAndAutodetectDeletes.
context.ReportChanges(itemChanges, _store.GetAnchor());
}
Public Overrides Sub EnumerateChanges(ByVal anchor As Byte(), ByVal context As AnchorEnumerationContext)
Dim itemChanges As New List(Of LocalItemChange)()
Dim startIndex As Integer = -1
If anchor IsNot Nothing Then
startIndex = _store.Changes.IndexOfKey(BitConverter.ToUInt64(anchor, 0))
End If
For i As Integer = startIndex + 1 To _store.Changes.Count - 1
itemChanges.Add(_store.Changes.Values(i))
Next
' If the anchor is corrupt or out of date we could revert back to
' full enumeration mode for this session, and enumerate all items.
' This is done by calling context.ReportItemsAndAutodetectDeletes.
context.ReportChanges(itemChanges, _store.GetAnchor())
End Sub
참고 항목
참조
AnchorEnumerationContext 클래스
AnchorEnumerationContext 멤버
Microsoft.Synchronization.SimpleProviders 네임스페이스