Compartilhar via


Método FullEnumerationSimpleSyncProvider.EnumerateItems

Quando substituído em uma classe derivada, enumera todos os itens em uma réplica.

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

Sintaxe

'Declaração
Public MustOverride Sub EnumerateItems ( _
    context As FullEnumerationContext _
)
'Uso
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
)

Parâmetros

Valor de retorno

Uma coleção de objetos ItemFieldDictionary que contêm metadados sobre os itens que foram enumerados.

Comentários

Este método deve conter ou chamar códigos específicos de repositório que permitem que o Sync Framework enumere os metadados de todos os itens em um repositório.

Exemplo

Os exemplos de códigos a seguir mostram uma implementação do método EnumerateItems para um aplicativo de exemplo que armazena itens em um repositório na memória. O método CreateItemFieldDictionary é um método de exemplo que retorna um objeto ItemFieldDictionary para cada item no repositório. Para exibir esse código no contexto de um aplicativo completo, consulte o aplicativo "Sync101 using Simple Sync Provider" disponível no Sync Framework SDK e em Code Gallery.

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

Consulte também

Referência

Classe FullEnumerationSimpleSyncProvider
Membros FullEnumerationSimpleSyncProvider
Namespace Microsoft.Synchronization.SimpleProviders