CachedDataItemEnumerator, classe

Itère un CachedDataItemCollection.

Hiérarchie d'héritage

System.Object
  Microsoft.VisualStudio.Tools.Applications.CachedDataItemEnumerator

Espace de noms :  Microsoft.VisualStudio.Tools.Applications
Assembly :  Microsoft.VisualStudio.Tools.Applications.ServerDocument (dans Microsoft.VisualStudio.Tools.Applications.ServerDocument.dll)

Syntaxe

'Déclaration
<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class CachedDataItemEnumerator _
    Implements IEnumerator(Of CachedDataItem), IDisposable,  _
    IEnumerator
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class CachedDataItemEnumerator : IEnumerator<CachedDataItem>, 
    IDisposable, IEnumerator

Le type CachedDataItemEnumerator expose les membres suivants.

Propriétés

  Nom Description
Propriété publique Current Obtient le CachedDataItem à la position actuelle de l'énumérateur.

Début

Méthodes

  Nom Description
Méthode publique Equals Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publique MoveNext Avance l'énumérateur au CachedDataItem suivant de CachedDataItemCollection.
Méthode publique Reset Positionne l'énumérateur à sa position initiale, c'est-à-dire avant le premier CachedDataItem.
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)

Début

Implémentations d'interface explicite

  Nom Description
Implémentation d'interface explicitePropriété privée IEnumerator.Current Pour obtenir une description de ce membre, consultez Current.
Implémentation d'interface expliciteMéthode privée IDisposable.Dispose Libère toutes les ressources utilisées par CachedDataItemEnumerator.

Début

Notes

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 correspondant au langage que vous utilisez au lieu de manipuler l'énumérateur directement.

Les énumérateurs peuvent être utilisés pour lire les données d'une collection, mais ils ne permettent pas de modifier la collection sous-jacente.

L'énumérateur est initialement positionné avant le premier élément de la collection. La méthode Reset ramène aussi l'énumérateur à cette position. À cette position, la définition de la propriété Current lève une exception. Par conséquent, vous devez appeler la méthode MoveNext pour avancer l'énumérateur au premier élément de la collection avant la lecture de la valeur de Current.

Current retourne le même objet jusqu'à l'appel de MoveNext ou de Reset. MoveNext affecte Current à l'élément suivant.

Si MoveNext passe la fin de la collection, l'énumérateur est placé après le dernier élément de la collection et MoveNext retourne false. Lorsque l'énumérateur est à cette position, les appels suivants à MoveNext retournent également false. Si le dernier appel à MoveNext a retourné false, un appel à Current lève une exception. Pour affecter à nouveau Current au premier élément de la collection, vous pouvez appeler Reset, puis MoveNext.

Un énumérateur reste valide tant que la collection reste inchangée. Si la collection est modifiée par l'ajout, la modification ou la suppression d'éléments, l'énumérateur est invalidé de manière définitive et l'appel suivant à MoveNext ou à Reset lève InvalidOperationException. Si la collection est modifiée entre MoveNext et Current, Current retourne l'élément dont elle a la valeur, même si l'énumérateur n'est déjà plus valide.

L'énumérateur ne dispose pas d'un accès exclusif à la collection. Par conséquent, l'énumération d'une collection n'est intrinsèquement pas une procédure thread-safe. Même lorsqu'une collection est synchronisée, les autres threads peuvent toujours modifier la collection, ce qui entraîne la levée d'une exception par l'énumérateur. Pour garantir la sécurité des threads lors de l'énumération, vous pouvez verrouiller la collection pour toute la durée de l'énumération ou intercepter les exceptions résultant de modifications apportées par d'autres threads.

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.Tools.Applications, espace de noms