다음을 통해 공유


FullEnumerationSimpleSyncProvider.EnumerateItems 메서드

파생 클래스에서 재정의되면 복제본의 모든 항목을 열거합니다.

네임스페이스: Microsoft.Synchronization.SimpleProviders
어셈블리: microsoft.synchronization.simpleproviders.dll의 Microsoft.Synchronization.SimpleProviders

구문

‘선언
Public MustOverride Sub EnumerateItems ( _
    context As FullEnumerationContext _
)
‘사용 방법
Dim instance As FullEnumerationSimpleSyncProvider
Dim context As FullEnumerationContext

instance.EnumerateItems(context)
public abstract void EnumerateItems (
    FullEnumerationContext context
)
public:
virtual void EnumerateItems (
    FullEnumerationContext^ context
) abstract
public abstract void EnumerateItems (
    FullEnumerationContext context
)
public abstract function EnumerateItems (
    context : FullEnumerationContext
)

매개 변수

반환 값

열거된 항목에 대한 메타데이터가 포함된 ItemFieldDictionary 개체의 컬렉션입니다.

주의

이 메서드는 Sync Framework를 사용하여 저장소의 모든 항목에 대한 메타데이터를 열거할 수 있도록 설정하는 저장소별 코드를 포함하거나 호출해야 합니다.

예제

다음 코드 예제에서는 메모리 내 저장소에 항목을 저장하는 샘플 응용 프로그램에 대한 EnumerateItems 메서드의 구현을 보여 줍니다. CreateItemFieldDictionary 메서드는 저장소의 각 항목에 대한 ItemFieldDictionary 개체를 반환하는 예제 메서드입니다. 전체 응용 프로그램의 맥락에서 이 코드를 보려면 Sync Framework SDK 및 Code Gallery에서 사용할 수 있는 "Sync101 using Simple Sync Provider" 응용 프로그램을 참조하십시오.

public override void EnumerateItems(FullEnumerationContext context)
{
    List<ItemFieldDictionary> items = new List<ItemFieldDictionary>();
    foreach (ulong id in _store.Ids)
    {
        items.Add(_store.CreateItemFieldDictionary(id));
    }
    context.ReportItems(items);
}
public ItemFieldDictionary CreateItemFieldDictionary(ulong id)
{
    ItemFieldDictionary itemFields = null;

    if (_store.ContainsKey(id))
    {
        itemFields = new ItemFieldDictionary();
        itemFields.Add(new ItemField(MyFullEnumerationSimpleSyncProvider.CUSTOM_FIELD_ID, typeof(ulong), id));
        itemFields.Add(new ItemField(MyFullEnumerationSimpleSyncProvider.CUSTOM_FIELD_TIMESTAMP, typeof(ulong), _store[id].TimeStamp));
    }
    else
    {
        throw new Exception("Item does not exist in store");
    }

    return itemFields;
}
Public Overrides Sub EnumerateItems(ByVal context As FullEnumerationContext)
    Dim items As New List(Of ItemFieldDictionary)()
    For Each id As ULong In _store.Ids
        items.Add(_store.CreateItemFieldDictionary(id))
    Next
    context.ReportItems(items)
End Sub
Public Function CreateItemFieldDictionary(ByVal id As ULong) As ItemFieldDictionary
    Dim itemFields As ItemFieldDictionary = Nothing

    If _store.ContainsKey(id) Then
        itemFields = New ItemFieldDictionary()
        itemFields.Add(New ItemField(MyFullEnumerationSimpleSyncProvider.CUSTOM_FIELD_ID, GetType(ULong), id))
        itemFields.Add(New ItemField(MyFullEnumerationSimpleSyncProvider.CUSTOM_FIELD_TIMESTAMP, GetType(ULong), _store(id).TimeStamp))
    Else
        Throw New Exception("Item does not exist in store")
    End If

    Return itemFields
End Function

참고 항목

참조

FullEnumerationSimpleSyncProvider 클래스
FullEnumerationSimpleSyncProvider 멤버
Microsoft.Synchronization.SimpleProviders 네임스페이스