EnumerateChanges méthode
En cas de substitution dans une classe dérivée, énumère les modifications d'un réplica qui se sont produites depuis la valeur d'ancre spécifiée.
Espace de noms : Microsoft.Synchronization.SimpleProviders
Assembly : Microsoft.Synchronization.SimpleProviders (dans Microsoft.Synchronization.SimpleProviders.dll)
Syntaxe
'Déclaration
Public MustOverride Sub EnumerateChanges ( _
anchor As Byte(), _
context As AnchorEnumerationContext _
)
'Utilisation
Dim instance As AnchorEnumerationSimpleSyncProvider
Dim anchor As Byte()
Dim context As AnchorEnumerationContext
instance.EnumerateChanges(anchor, context)
public abstract void EnumerateChanges(
byte[] anchor,
AnchorEnumerationContext context
)
public:
virtual void EnumerateChanges(
array<unsigned char>^ anchor,
AnchorEnumerationContext^ context
) abstract
abstract EnumerateChanges :
anchor:byte[] *
context:AnchorEnumerationContext -> unit
public abstract function EnumerateChanges(
anchor : byte[],
context : AnchorEnumerationContext
)
Paramètres
- anchor
Type : array<System. . :: . .Byte> [] () [] []
Tableau d'octets qui représente une ancre d'énumération, telle qu'un horodateur. Les modifications qui se sont produites depuis cette ancre sont énumérées. Si l'ancre a la valeur Null, le fournisseur doit énumérer tous les éléments dans le magasin.
- context
Type : Microsoft.Synchronization.SimpleProviders. . :: . .AnchorEnumerationContext
Objet AnchorEnumerationContext vous permettant de signaler les éléments et les modifications et de spécifier la manière dont les suppressions sont gérées.
Notes
Cette méthode doit contenir ou appeler le code spécifique au magasin qui permet à Sync Framework d'énumérer les métadonnées pour tous les éléments dans le magasin qui ont changé depuis l'ancre spécifiée.
Exemples
L'exemple de code suivant affiche une implémentation de la méthode EnumerateChanges pour un exemple d'application qui stocke des éléments dans un magasin en mémoire. 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 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
Voir aussi
Référence
AnchorEnumerationSimpleSyncProvider Classe