IDTSPathCollection100.GetEnumerator Méthode
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.
Retourne un énumérateur qui peut effectuer une itération au sein de l'objet IDTSPathCollection100.
public:
System::Collections::IEnumerator ^ GetEnumerator();
[System.Runtime.InteropServices.DispId(-4)]
public System.Collections.IEnumerator GetEnumerator ();
[<System.Runtime.InteropServices.DispId(-4)>]
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator
Retours
Retourne un IEnumerator utilisé pour itérer la collection.
Implémente
- Attributs
Remarques
Les énumérateurs autorisent uniquement la lecture des données dans la collection. Les énumérateurs ne peuvent pas être utilisés pour modifier la collection sous-jacente.
Au départ, 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
lève 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
retourner 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 en ajoutant, modifiant ou supprimant des éléments, l'énumérateur devient irrévocablement non valide, et l'appel suivant à MoveNext
ou Reset
lève un InvalidOperationException
. Si la collection est modifiée entre MoveNext
et Current
, Current
retourne l’élément sur lequel elle est définie, 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.