Méthode FullEnumerationSimpleSyncProvider.EnumerateItems
En cas de substitution dans une classe dérivée, énumère tous les éléments d'un réplica.
Espace de noms: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (dans microsoft.synchronization.simpleproviders.dll)
Syntaxe
'Déclaration
Public MustOverride Sub EnumerateItems ( _
context As FullEnumerationContext _
)
'Utilisation
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
)
Paramètres
- context
Objet FullEnumerationContext qui représente le contexte de la session de synchronisation.
Valeur de retour
Collection d'objets ItemFieldDictionary qui contiennent des métadonnées à propos des éléments énumérés.
Notes
Cette méthode doit contenir ou appeler du code spécifique au magasin qui permet Sync Framework d'énumérer les métadonnées pour tous les éléments dans un magasin.
Exemple
Les exemples de code suivant affichent une implémentation de la méthode EnumerateItems pour un exemple d'application qui stocke des éléments dans un magasin en mémoire. La méthode CreateItemFieldDictionary
est un exemple de méthode qui crée et retourne un objet ItemFieldDictionary pour chaque élément dans le magasin. Pour consulter ce code dans le contexte d'une application complète, consultez l'application "Sync101 using Simple Sync Provider"
qui est disponible dans le Kit de développement logiciel (SDK) Sync Framework et de 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
Voir aussi
Référence
Classe FullEnumerationSimpleSyncProvider
Membres FullEnumerationSimpleSyncProvider
Espace de noms Microsoft.Synchronization.SimpleProviders