Freigeben über


FullEnumerationSimpleSyncProvider.EnumerateItems-Methode

Listet, wenn in einer abgeleiteten Klasse überschrieben, alle Elemente in einem Replikat auf.

Namespace: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (in microsoft.synchronization.simpleproviders.dll)

Syntax

'Declaration
Public MustOverride Sub EnumerateItems ( _
    context As FullEnumerationContext _
)
'Usage
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
)

Parameter

Rückgabewert

Eine Auflistung von ItemFieldDictionary-Objekten, die Metadaten zu den aufgelisteten Elementen enthalten.

Hinweise

Diese Methode sollte speicherspezifischen Code enthalten oder aufrufen, mithilfe dessen Sync Framework die Metadaten für alle Elemente in einem Speicher auflisten kann.

Beispiel

In den folgenden Codebeispielen wird eine Implementierung der EnumerateItems-Methode für eine Beispielanwendung gezeigt, die Elemente in einem Speicher im Arbeitsspeicher speichert. Bei der CreateItemFieldDictionary-Methode handelt es sich um eine Beispielmethode, die für jedes Element im Speicher ein ItemFieldDictionary-Objekt zurückgibt. In der "Sync101 using Simple Sync Provider"-Anwendung, die im Sync Framework SDK und in der Code Gallery verfügbar ist, finden Sie diesen Code im Kontext einer vollständigen Anwendung.

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

Siehe auch

Verweis

FullEnumerationSimpleSyncProvider-Klasse
FullEnumerationSimpleSyncProvider-Member
Microsoft.Synchronization.SimpleProviders-Namespace