ActivityCollection.GetEnumerator Metoda

Definice

Implementuje rozhraní výčtu ICollectiondo .

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)

Návraty

IEnumerator<Activity>

Enumerátor, který může iterovat instanci ReadOnlyCollectionBase .

Implementuje

Poznámky

Enumerátory umožňují čtení dat v kolekci pouze. K úpravě podkladové kolekce nelze použít výčty.

Začněme tím, že enumerátor se umístí před první prvek v kolekci. Reset také vrátí enumerátor zpět na tuto pozici. Volání v této pozici Current vyvolá výjimku. Proto je nutné předčíst MoveNext výčet na první prvek kolekce před přečtením hodnoty .Current

Current vrátí stejný objekt, dokud není volána MoveNext nebo Reset není volána. MoveNext nastaví Current na další prvek.

Po předání konce kolekce se enumerátor umístí za poslední prvek v kolekci a volání MoveNext vrátí false. Pokud se vrátí poslední volání MoveNext false, volání Current vyvolá výjimku.

Chcete-li nastavit Current na první prvek kolekce znovu, můžete volat Reset následovaný MoveNext.

Enumerátor zůstane platný, dokud kolekce zůstane beze změny. Pokud jsou v kolekci provedeny změny, jako je přidání, úprava nebo odstranění prvků, enumerátor je nevratně neplatný a další volání nebo MoveNext Reset vyvolá InvalidOperationException . Pokud je kolekce změněna mezi MoveNext a Current, Current vrátí prvek, na který je nastaven, i když je výčet již neplatný.

Enumerátor nemá výhradní přístup k kolekci; výčtem kolekce tedy není vnitřně bezpečný postup pro vlákno. I když je kolekce synchronizovaná, můžou ostatní vlákna i nadále upravovat kolekci. To způsobí, že enumerátor vyvolá výjimku. K zaručení bezpečnosti přístupu z více vláken můžete buďto zamknout kolekci na celou dobu práce s výčtem, nebo zachycovat výjimky vzniklé v důsledku změn prováděných ostatními vlákny.

Platí pro