IDTSExternalMetadataColumnCollection100.GetEnumerator Méthode

Définition

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

System.Collections.Generic.IEnumerator qui peut effectuer une itération au sein de la collection de colonnes de métadonnées externes.

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. La réinitialisation ramène également l’énumérateur à cette position. À cette position, l’appel de Current lève une exception. Par conséquent, vous devez appeler MoveNext pour faire avancer l’énumérateur vers le premier élément de la collection avant de lire la valeur Current.

Current retourne le même objet jusqu’à ce que MoveNext ou Reset soit appelé. MoveNext définit Current sur l’élément suivant.

Une fois la fin de la collection passée, l’énumérateur est positionné après le dernier élément de la collection, et l’appel à MoveNext retourne false. Si le dernier appel à MoveNext a retourné false, l’appel de Current lève une exception. Pour définir à nouveau Current sur le premier élément de la collection, vous pouvez appeler Réinitialiser suivi de MoveNext.

Un énumérateur reste valide aussi longtemps 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écupérablement 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 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 pendant l’énumération, vous pouvez verrouiller la collection pendant toute l’énumération ou intercepter les exceptions résultant des modifications apportées par d’autres threads.

S’applique à