FullEnumerationSimpleSyncProvider.EnumerateItems Método
Cuando se invalida en una clase derivada, enumera todos los elementos de una réplica.
Espacio de nombres: Microsoft.Synchronization.SimpleProviders
Ensamblado: Microsoft.Synchronization.SimpleProviders (en microsoft.synchronization.simpleproviders.dll)
Sintaxis
'Declaración
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
- context
Objeto FullEnumerationContext que representa el contexto de la sesión de sincronización.
Valor devuelto
Colección de objetos ItemFieldDictionary que contienen metadatos sobre los elementos que se enumeraron.
Notas
Este método debe contener o invocar código específico del almacén para que Sync Framework pueda enumerar los metadatos para todos los elementos de un almacén.
Ejemplo
En los ejemplos de código siguientes se muestra una implementación del método EnumerateItems para una aplicación de ejemplo que almacena elementos en un almacén en memoria. El método CreateItemFieldDictionary
es un método de ejemplo que devuelve un objeto ItemFieldDictionary para cada elemento del almacén. Para consultar este código en el contexto de una aplicación completa, vea la aplicación "Sync101 using Simple Sync Provider"
que está disponible en Sync Framework SDK y en 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
Vea también
Referencia
FullEnumerationSimpleSyncProvider Clase
FullEnumerationSimpleSyncProvider Miembros
Microsoft.Synchronization.SimpleProviders Espacio de nombres