Partager via


ActivityCollection.GetEnumerator Méthode

Définition

Implémente une interface d'énumération à ICollection.

public:
 System::Collections::Generic::IEnumerator<System::Workflow::ComponentModel::Activity ^> ^ GetEnumerator();
public System.Collections.Generic.IEnumerator<System.Workflow.ComponentModel.Activity> GetEnumerator ();
override this.GetEnumerator : unit -> System.Collections.Generic.IEnumerator<System.Workflow.ComponentModel.Activity>
Public Function GetEnumerator () As IEnumerator(Of Activity)

Retours

IEnumerator<Activity>

Un énumérateur qui peut itérer au sein de l'instance de ReadOnlyCollectionBase.

Implémente

Remarques

Les énumérateurs permettent uniquement de lire les données dans la collection. Vous ne pouvez pas utiliser les énumérateurs pour modifier la collection sous-jacente.

Pour commencer, l'énumérateur est positionné avant le premier élément de la collection. Reset replace également l'énumérateur à cette position. À cette position, l'appel à Current déclenche une exception. Par conséquent, vous devez appeler MoveNext 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.

Une fois la collection terminée, l’énumérateur est placé après le dernier élément de la collection et l’appel à MoveNext retourne la valeur false. Si le dernier appel à MoveNext a retourné la valeur 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 reste valide aussi longtemps que la collection demeure 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 irréversible 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 auquel il est attribué, 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, d’autres threads peuvent toujours la modifier. Par conséquent, l'énumérateur déclenche une exception. 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.

S’applique à