Classe ItemFieldDictionary
Rappresenta un elemento e i campi associati.
Spazio dei nomi: Microsoft.Synchronization.SimpleProviders
Assembly: Microsoft.Synchronization.SimpleProviders (in microsoft.synchronization.simpleproviders.dll)
Sintassi
'Dichiarazione
<DefaultMemberAttribute("Item")> _
Public Class ItemFieldDictionary
Implements IDictionary(Of UInteger, ItemField), ICollection(Of KeyValuePair(Of UInteger, ItemField)), _
IEnumerable(Of KeyValuePair(Of UInteger, ItemField)), IEnumerable
'Utilizzo
Dim instance As ItemFieldDictionary
[DefaultMemberAttribute("Item")]
public class ItemFieldDictionary : IDictionary<uint,ItemField>, ICollection<KeyValuePair<uint,ItemField>>,
IEnumerable<KeyValuePair<uint,ItemField>>, IEnumerable
[DefaultMemberAttribute(L"Item")]
public ref class ItemFieldDictionary : IDictionary<unsigned int, ItemField^>, ICollection<KeyValuePair<unsigned int, ItemField^>>,
IEnumerable<KeyValuePair<unsigned int, ItemField^>>, IEnumerable
/** @attribute DefaultMemberAttribute("Item") */
public class ItemFieldDictionary implements IDictionary<UInt32,ItemField>,
ICollection<KeyValuePair<UInt32,ItemField>>, IEnumerable<KeyValuePair<UInt32,ItemField>>, IEnumerable
DefaultMemberAttribute("Item")
public class ItemFieldDictionary implements IDictionary<uint,ItemField>,
ICollection<KeyValuePair<uint,ItemField>>, IEnumerable<KeyValuePair<uint,ItemField>>, IEnumerable
Osservazioni
Gli oggetti ItemFieldDictionary vengono utilizzati da molti dei metodi dei provider semplici per archiviare e passare gli oggetti ItemField che identificano elementi quando le modifiche vengono applicate a una destinazione.
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 crea e 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
Gerarchia di ereditarietà
System.Object
Microsoft.Synchronization.SimpleProviders.ItemFieldDictionary
Thread Safety
Tutti i membri statici pubblici (Shared in Visual Basic) di questo tipo sono thread safe. I membri di istanza non hanno garanzia di essere thread safe.
Vedere anche
Riferimento
Membri ItemFieldDictionary
Spazio dei nomi Microsoft.Synchronization.SimpleProviders