ActivityCollection.GetEnumerator Methode

Definition

Implementiert eine Enumerationsschnittstelle für die 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 nur das Lesen der Daten in der Sammlung. Sie können Enumeratoren nicht verwenden, um die zugrunde liegende Auflistung zu ändern.

Zunächst wird der Enumerator vor dem ersten Element in der Auflistung positioniert. Reset bringt den Enumerator auch wieder an diese Position zurück. An dieser Position löst das Aufrufen Current eine Ausnahme aus. Daher müssen Sie aufrufen MoveNext , um den Enumerator zum ersten Element der Auflistung vor dem Lesen des Werts Currentvon .

Current gibt dasselbe Objekt zurück, bis eine MoveNext oder Reset mehrere Aufrufe ausgeführt werden. MoveNext wird auf das nächste Element festgelegt Current .

Nachdem das Ende der Auflistung übergeben wurde, wird der Enumerator nach dem letzten Element in der Auflistung positioniert, und der Aufruf MoveNext wird zurückgegeben false. Wenn der letzte aufruf, der zurückgegeben werden MoveNextsollfalse, löst der Aufruf Current eine Ausnahme aus.

Wenn Sie das erste Element der Auflistung erneut festlegen möchten Current , können Reset Sie gefolgt von MoveNext.

Ein Enumerator bleibt gültig, solange die Auflistung unverändert bleibt. Wenn Änderungen an der Auflistung vorgenommen werden, z. B. Das Hinzufügen, Ändern oder Löschen von Elementen, wird der Enumerator unwiderruflich ungültig und der nächste Aufruf an MoveNext oder Reset löst einen InvalidOperationException aus. Wenn die Auflistung zwischen MoveNext und zu Currentgeändert wird, Current wird das Element zurückgegeben, auf das sie festgelegt ist, auch wenn der Enumerator bereits ungültig ist.

Der Enumerator hat keinen exklusiven Zugriff auf die Sammlung; Daher ist das Aufzählen durch eine Sammlung intrinsisch keine threadsichere Prozedur. Auch wenn eine Auflistung synchronisiert wird, könnten andere Threads die Sammlung weiterhin ändern. Dies bewirkt, dass der Enumerator eine Ausnahme auslöst. Um die Threadsicherheit während der Enumeration zu gewährleisten, können Sie die Auflistung entweder während der gesamten Enumeration sperren oder die Ausnahmen erfassen, die sich aus Änderungen ergeben, die von anderen Threads vorgenommen wurden.

Gilt für: