CachedDataItemEnumerator Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Itère un CachedDataItemCollection.
public sealed class CachedDataItemEnumerator : System.Collections.Generic.IEnumerator<Microsoft.VisualStudio.Tools.Applications.CachedDataItem>
- Héritage
-
CachedDataItemEnumerator
- Implémente
Remarques
Visual Basic et C# contiennent chacun une instruction qui masque la complexité des énumérateurs ( foreach en C# et For Each en Visual Basic). Utilisez l’instruction appropriée pour le langage que vous utilisez, au lieu de manipuler directement l’énumérateur.
Les énumérateurs peuvent être utilisés pour lire les données de la collection, mais ils ne permettent pas de modifier la collection sous-jacente.
Au départ, l'énumérateur est positionné avant le premier élément de la collection. La Reset méthode ramène également l’énumérateur à cette position. À cette position, la définition de la Current propriété lève une exception. Par conséquent, vous devez appeler la MoveNext méthode pour avancer l’énumérateur jusqu’au premier élément de la collection avant de lire la valeur de Current .
Current retourne le même objet tant que MoveNext ou Reset n'est pas appelé. MoveNext affecte l'élément suivant à Current.
Si MoveNext passe la fin de la collection, l’énumérateur est positionné après le dernier élément de la collection et MoveNext retourne false . Lorsque l’énumérateur se trouve à cette position, les appels suivants à MoveNext retournent également false . Si le dernier appel à MoveNext retourné false , l’appel à Current lève une exception. Pour attribuer une nouvelle fois Current au premier élément de la collection, vous pouvez appeler Reset suivi de MoveNext.
Un énumérateur est valide tant que la collection demeure inchangée. Si des modifications sont apportées à la collection, telles que l’ajout, la modification ou la suppression d’éléments, l’énumérateur est irrévocablement invalidé et l’appel suivant à MoveNext ou Reset lève une exception InvalidOperationException . Si la collection est modifiée entre MoveNext et Current , Current retourne l’élément auquel elle a la valeur, même si l’énumérateur est déjà invalidé.
Comme l’énumérateur ne dispose pas d’un accès exclusif à la collection, l’énumération d’une collection n’est pas intrinsèquement une procédure thread-safe. Même lorsqu'une collection est synchronisée, les autres threads peuvent toujours la modifier, ce qui entraîne la levée d'une exception par l'énumérateur. Pour garantir la sécurité des threads au cours de l’énumération, vous pouvez verrouiller la collection pendant l’ensemble de l’énumération ou bien intercepter les exceptions résultant des modifications apportées par les autres threads.
Propriétés
| Current |
Obtient le CachedDataItem à la position actuelle de l'énumérateur. |
Méthodes
| MoveNext() |
Avance l'énumérateur au CachedDataItem suivant de CachedDataItemCollection. |
| Reset() |
Positionne l'énumérateur à sa position initiale, c'est-à-dire avant le premier CachedDataItem. |
Implémentations d’interfaces explicites
| IDisposable.Dispose() |
Libère toutes les ressources utilisées par CachedDataItemEnumerator. |
| IEnumerator.Current | |