ActivityCollection.GetEnumerator Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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.