IDTSInputColumnCollection100.GetEnumerator Methode

Definition

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 IEnumerator , der verwendet wird, um die Sammlung zu iterieren.

Implementiert

Attribute

Hinweise

Aufzählungen ermöglichen nur das Lesen der Daten in der Sammlung. Aufzählungen 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 bringt auch den Aufzählerator zurück zu dieser Position. An dieser Position löst das Aufrufen von Current eine Ausnahme aus. Daher müssen Sie MoveNext aufrufen, um den Aufzählungsator auf das erste Element der Auflistung vor dem Lesen des Werts "Current" zu verschieben.

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

Nachdem das Ende der Auflistung übergeben wurde, wird der Aufzählungsator nach dem letzten Element in der Auflistung positioniert, und das Aufrufen von MoveNext gibt false zurück. Wenn der letzte Aufruf von MoveNextfalsch zurückgegeben wurde, löst das Aufrufen von Current eine Ausnahme aus. Um Current erneut auf das erste Element der Auflistung festzulegen, können Sie Reset aufrufen, gefolgt von MoveNext.

Ein Enumerator bleibt gültig, solange die Auflistung unverändert bleibt. Wenn Änderungen an der Auflistung vorgenommen werden, z. B. Hinzufügen, Ändern oder Löschen von Elementen, wird der Aufzählungsator ungültig und der nächste Aufruf von MoveNext oder Reset löst eine InvalidOperationException aus. Wenn die Auflistung zwischen MoveNext und Current geändert wird, gibt Current das Element zurück, auf das sie festgelegt ist, auch wenn der Aufzählungsator 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 während der Enumeration Threadsicherheit zu gewährleisten, können Sie entweder die Auflistung während der gesamten Enumeration sperren oder die Ausnahmen, die aus von anderen Threads stammenden Änderungen resultieren, abfangen.

Gilt für: