IDTSExternalMetadataColumnCollection100.GetEnumerator Methode

Definition

Gibt einen Enumerator zurück, der IDTSExternalMetadataColumnCollection100 durchlaufen kann.

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

Gibt zurück

Ein System.Collections.Generic.IEnumerator, der die Auflistung externer Metadatenspalten durchlaufen kann.

Implementiert

Attribute

Hinweise

Enumeratoren ermöglichen nur das Lesen der Daten in der Sammlung. Enumeratoren können nicht verwendet werden, um die zugrunde liegende Auflistung zu ändern.

Zu Beginn wird der Enumerator vor das erste Element in der Auflistung positioniert. Reset setzt den Enumerator ebenfalls auf diese Position zurück. An dieser Position löst der Aufruf Current eine Ausnahme aus. Daher muss der Enumerator durch einen Aufruf von MoveNext auf das erste Element der Auflistung gesetzt werden, bevor der Wert von Current gelesen werden kann.

Current gibt solange dasselbe Objekt zurück, bis MoveNext oder Reset aufgerufen wird. MoveNext legt Current auf das nächste Element fest.

Nach Erreichen des Endes der Auflistung befindet sich der Enumerator hinter dem letzten Element der Auflistung, und ein Aufruf von MoveNext gibt false zurück. Wenn der letzte Aufruf von MoveNext zurückgegeben wurde false, löst der Aufruf Current eine Ausnahme aus. Um Current wieder auf das erste Element der Auflistung festzulegen, können Sie Reset gefolgt von MoveNext aufrufen.

Ein Enumerator bleibt gültig, solange die Auflistung unverändert bleibt. Wenn Änderungen an der Auflistung vorgenommen werden, etwa durch Hinzufügen, Ändern oder Löschen von Elementen, wird der Enumerator unumkehrbar ungültig, und der nächste Aufruf von MoveNext oder Reset löst eine InvalidOperationException-Ausnahme aus. Wenn die Auflistung zwischen MoveNext und Currentgeändert wird, Current gibt das Element zurück, auf das sie festgelegt ist, auch wenn der Enumerator bereits ungültig ist.

Der Enumerator hat keinen exklusiven Zugriff auf die Auflistung; daher ist die Enumeration einer Auflistung systembedingt kein threadsicheres Verfahren. Selbst wenn eine Auflistung synchronisiert wird, besteht die Möglichkeit, dass andere Threads sie ändern. Dies führt dazu, dass der Enumerator eine Ausnahme auslöst. Um die Threadsicherheit während der Enumeration zu gewährleisten, können Sie entweder die Auflistung während der gesamten Enumeration sperren oder die Ausnahmen abfangen, die sich aus Änderungen ergeben, die von anderen Threads vorgenommen wurden.

Gilt für: