Metodo FullEnumerationSimpleSyncProvider.EnumerateItems
Quando sottoposto a override in una classe derivata, enumera tutti gli elementi in una replica.
Spazio dei nomi: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (in microsoft.synchronization.simpleproviders.dll)
Sintassi
'Dichiarazione
Public MustOverride Sub EnumerateItems ( _
context As FullEnumerationContext _
)
'Utilizzo
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
)
Parametri
- context
Oggetto FullEnumerationContext che rappresenta il contesto della sessione di sincronizzazione.
Valore restituito
Raccolta di oggetti ItemFieldDictionary contenenti metadati sugli elementi enumerati.
Osservazioni
Questo metodo deve contenere o chiamare codice specifico dell'archivio che consente a Sync Framework di enumerare i metadati per tutti gli elementi in un archivio.
Esempio
Nell'esempio di codice seguente viene illustrata un'implementazione del metodo EnumerateItems per un'applicazione di esempio che archivia elementi in un archivio in memoria. Il metodo CreateItemFieldDictionary
è un metodo di esempio che restituisce un oggetto ItemFieldDictionary per ogni elemento nell'archivio. Per visualizzare il codice nel contesto di un'applicazione completa, vedere l'applicazione "Sync101 using Simple Sync Provider"
disponibile in Sync Framework SDK e in 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
Vedere anche
Riferimento
Classe FullEnumerationSimpleSyncProvider
Membri FullEnumerationSimpleSyncProvider
Spazio dei nomi Microsoft.Synchronization.SimpleProviders