Classe FilterChange
Rappresenta le informazioni su una modifica che determina lo spostamento di un elemento all'interno o all'esterno di un filtro.
Spazio dei nomi: Microsoft.Synchronization
Assembly: Microsoft.Synchronization (in microsoft.synchronization.dll)
Sintassi
'Dichiarazione
Public Class FilterChange
'Utilizzo
Dim instance As FilterChange
public class FilterChange
public ref class FilterChange
public class FilterChange
public class FilterChange
Osservazioni
Una modifica può determinare lo spostamento di un elemento all'interno o all'esterno di un filtro. Ad esempio, gli elementi contengono un campo state e un filtro esclude qualsiasi elemento con il relativo campo state uguale a "Washington". Quando un elemento con state impostato su "Washington" viene modificato in modo che state sia uguale a "Oregon", l'elemento si sposta nel filtro.
Le proprietà di questo oggetto possono essere interpretate in base alla tabella seguente.
Valore diIsMoveIn |
Valore diMoveVersion |
Significato |
---|---|---|
true |
Versione di creazione dell'elemento. |
L'elemento è presente nel filtro da quando è stato creato. |
true |
Versione diversa dalla versione di creazione dell'elemento. |
L'elemento si è spostato nel filtro quando è stata apportata la modifica con la versione di MoveVersion. |
false |
Impostato su 0. |
L'elemento non è stato nel filtro da quando è iniziato il rilevamento del filtro. |
false |
Versione diversa da 0. |
Elemento spostato all'esterno del filtro quando è stata apportata la modifica con la versione MoveVersion. |
Esempio
Nell'esempio seguente vengono aggiunte informazioni sulle modifiche del filtro a un oggetto ItemChange quando la versione di trasferimento per l'elemento in relazione al filtro non è contenuta nella conoscenza di destinazione.
Public Sub AddFilterChanges(ByVal filterKeyMap As FilterKeyMap, ByVal itemMeta As ItemMetadata, ByVal destKnowledge As SyncKnowledge, ByVal itemChange As ItemChange)
For filterKey As Integer = 0 To filterKeyMap.Count - 1
' Find the filter in the list of all filters tracked by this replica.
Dim iFilter As Integer = 0
While iFilter < _trackedFilters.Count
If filterKeyMap(filterKey).IsIdentical(_trackedFilters(iFilter)) Then
Exit While
End If
iFilter += 1
End While
' Get the filter information for the item and add it to the ItemChange object.
Dim moveVersion As SyncVersion = GetMoveVersion(itemMeta, iFilter)
' Only return a filter change if the destination knowledge does not contain the version of the
' last move that occurred in relation to the specified filter.
Dim filterChange As FilterChange = Nothing
If Not destKnowledge.Contains(ContactReplicaMetadata.ReplicaId, itemMeta.GlobalId, moveVersion) Then
filterChange = New FilterChange(GetIsInFilter(itemMeta, iFilter), moveVersion)
itemChange.AddFilterChange(CUInt(filterKey), filterChange)
End If
Next
End Sub
public void AddFilterChanges(FilterKeyMap filterKeyMap, ItemMetadata itemMeta, SyncKnowledge destKnowledge,
ItemChange itemChange)
{
for (int filterKey = 0; filterKey < filterKeyMap.Count; filterKey++)
{
// Find the filter in the list of all filters tracked by this replica.
int iFilter = 0;
for (; iFilter < _trackedFilters.Count; iFilter++)
{
if (filterKeyMap[filterKey].IsIdentical(_trackedFilters[iFilter]))
{
break;
}
}
// Get the filter information for the item and add it to the ItemChange object.
SyncVersion moveVersion = GetMoveVersion(itemMeta, iFilter);
// Only return a filter change if the destination knowledge does not contain the version of the
// last move that occurred in relation to the specified filter.
FilterChange filterChange = null;
if (!destKnowledge.Contains(ContactReplicaMetadata.ReplicaId, itemMeta.GlobalId, moveVersion))
{
filterChange = new FilterChange(GetIsInFilter(itemMeta, iFilter), moveVersion);
itemChange.AddFilterChange((uint)filterKey, filterChange);
}
}
}
Gerarchia di ereditarietà
System.Object
Microsoft.Synchronization.FilterChange
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 FilterChange
Spazio dei nomi Microsoft.Synchronization