Поделиться через


Класс LocalItemChange

Представляет изменение элемента на локальной реплике, возвращенное методом EnumerateChanges(array<Byte>[]()[][], AnchorEnumerationContext, array<Byte>[]()[][]%).

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

Синтаксис

'Декларация
Public Class LocalItemChange
'Применение
Dim instance As LocalItemChange
public class LocalItemChange
public ref class LocalItemChange
type LocalItemChange =  class end
public class LocalItemChange

Примеры

В следующем примере кода показана реализация метода EnumerateChanges для примера приложения, сохраняющего элементы в хранилище данных в памяти. Объект LocalItemChange используется для хранения изменений для каждого из элементов хранилища, произведенных с момента последней привязки. Чтобы просмотреть этот код в контексте полного приложения, см. приложение "Sync101 using Simple Sync Provider", которое можно найти в пакете Sync Framework SDK или на странице Code Gallery.

public override void EnumerateChanges(byte[] anchor, AnchorEnumerationContext context)
{
    List<LocalItemChange> itemChanges = new List<LocalItemChange>();

    int startIndex = -1;

    if (anchor != null)
    {
        startIndex = _store.Changes.IndexOfKey(BitConverter.ToUInt64(anchor, 0));
    }

    for (int i = startIndex + 1; i < _store.Changes.Count; i++)
    {
        itemChanges.Add(_store.Changes.Values[i]);
    }

    // If the anchor is corrupt or out of date we could revert back to 
    // full enumeration mode for this session, and enumerate all items. 
    // This is done by calling context.ReportItemsAndAutodetectDeletes.
    context.ReportChanges(itemChanges, _store.GetAnchor());
}
Public Overrides Sub EnumerateChanges(ByVal anchor As Byte(), ByVal context As AnchorEnumerationContext)
    Dim itemChanges As New List(Of LocalItemChange)()

    Dim startIndex As Integer = -1

    If anchor IsNot Nothing Then
        startIndex = _store.Changes.IndexOfKey(BitConverter.ToUInt64(anchor, 0))
    End If

    For i As Integer = startIndex + 1 To _store.Changes.Count - 1
        itemChanges.Add(_store.Changes.Values(i))
    Next

    ' If the anchor is corrupt or out of date we could revert back to 
    ' full enumeration mode for this session, and enumerate all items. 
    ' This is done by calling context.ReportItemsAndAutodetectDeletes. 
    context.ReportChanges(itemChanges, _store.GetAnchor())
End Sub

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

System. . :: . .Object
  Microsoft.Synchronization.SimpleProviders..::..LocalItemChange

Потоковая защита

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

См. также

Справочник

Элементы LocalItemChange

Пространство имен Microsoft.Synchronization.SimpleProviders