Freigeben über


ActivityCollection.GetEnumerator Methode

Definition

Implementiert eine Enumerationsschnittstelle für 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)

Gibt zurück

IEnumerator<Activity>

Ein Enumerator, der die ReadOnlyCollectionBase-Instanz durchlaufen kann.

Implementiert

Hinweise

Enumeratoren ermöglichen lediglich das Lesen der Daten in der Auflistung. Die zugrunde liegende Auflistung kann nicht mithilfe von Enumeratoren geändert werden.

Der Enumerator befindet sich zunächst vor dem ersten Element in der Auflistung. Reset setzt den Enumerator ebenfalls auf diese Position zurück. Beim Aufruf von Current wird an dieser Position eine Ausnahme ausgelöst. 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 MoveNextfalse zurückgibt, wird beim Aufruf von Current eine Ausnahme ausgelöst.

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 an der Auflistung Änderungen vorgenommen werden, z. B. durch Hinzufügen, Ändern oder Löschen von Elementen, ist der Enumerator unwiderruflich 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 der Enumerator gesetzt wurde, auch wenn er bereits ungültig ist.

Der Enumerator hat keinen exklusiven Zugriff auf die Auflistung; daher ist die Enumeration einer Auflistung systembedingt kein threadsicheres Verfahren. Auch wenn eine Auflistung synchronisiert ist, kann die Auflistung nach wie vor durch andere Threads geändert werden. Dadurch wird vom Enumerator eine Ausnahme ausgelö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