Класс ItemFieldDictionary

Представляет элемент и связанные с ним поля.

Пространство имен: Microsoft.Synchronization.SimpleProviders
Сборка: Microsoft.Synchronization.SimpleProviders (в microsoft.synchronization.simpleproviders.dll)

Синтаксис

'Декларация
<DefaultMemberAttribute("Item")> _
Public Class ItemFieldDictionary
    Implements IDictionary(Of UInteger, ItemField), ICollection(Of KeyValuePair(Of UInteger, ItemField)), _
    IEnumerable(Of KeyValuePair(Of UInteger, ItemField)), IEnumerable
'Применение
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

Замечания

Объекты ItemFieldDictionary используются многими методами простых поставщиков для хранения и передачи объектов ItemField, служащих для идентификации объектов при применении изменений на поставщике назначения.

Пример

В следующем примере кода показана реализация метода EnumerateItems для образца приложения, сохраняющего элементы в хранилище данных в памяти. Метод CreateItemFieldDictionary — образец, который создает и возвращает объект ItemFieldDictionary для каждого из элементов в хранилище. Чтобы просмотреть этот код в контексте полного приложения, см. приложение "Sync101 using Simple Sync Provider", которое можно найти в пакете Sync Framework SDK или на странице 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

Иерархия наследования

System.Object
  Microsoft.Synchronization.SimpleProviders.ItemFieldDictionary

Многопоточное использование

Все общие статические члены (Shared в Visual Basic) можно использовать в многопоточных операциях. Безопасная многопоточная работа с членами экземпляров типа не гарантируется.

См. также

Справочник

Элементы ItemFieldDictionary
Пространство имен Microsoft.Synchronization.SimpleProviders