Udostępnij za pośrednictwem


ActivityCollection.GetEnumerator Metoda

Definicja

Implementuje interfejs wyliczenia do elementu 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)

Zwraca

IEnumerator<Activity>

Moduł wyliczający, który może iterować po wystąpieniu ReadOnlyCollectionBase .

Implementuje

Uwagi

Moduły wyliczające umożliwiają tylko odczytywanie danych w kolekcji. Nie można używać modułów wyliczania do modyfikowania podstawowej kolekcji.

Aby rozpocząć, moduł wyliczający jest umieszczony przed pierwszym elementem w kolekcji. Reset powoduje również powrót modułu wyliczającego do tej pozycji. Na tym stanowisku wywołanie Current wywołuje wyjątek. W związku z tym należy wywołać metodę MoveNext , aby przejść do pierwszego elementu kolekcji przed odczytaniem wartości Current.

Current Metoda zwraca ten sam obiekt do momentu wywołania metody MoveNext lub Reset . MoveNext ustawia Current element na następny.

Po przekazaniu końca kolekcji moduł wyliczający jest umieszczony po ostatnim elemecie w kolekcji, a wywołanie MoveNext metody zwraca wartość false. Jeśli ostatnie wywołanie metody MoveNext zwracane false, wywołanie Current wywołania zgłasza wyjątek.

Aby ponownie ustawić Current element na pierwszy element kolekcji, możesz wywołać Reset metodę , a następnie .MoveNext

Moduł wyliczający zachowuje ważność tak długo, jak długo kolekcja pozostaje niezmieniona. Jeśli w kolekcji zostaną wprowadzone zmiany, takie jak dodawanie, modyfikowanie lub usuwanie elementów, moduł wyliczający jest nieodwracalnie unieważniany, a następne wywołanie MoveNext lub Reset wywołanie InvalidOperationException metody . Jeśli kolekcja jest modyfikowana między elementami MoveNext i Current, Current zwróci element ustawiony na , nawet jeśli moduł wyliczający jest już unieważniony.

Moduł wyliczający nie ma wyłącznego dostępu do kolekcji, w związku z tym wyliczanie w kolekcji nie jest wewnętrznie procedurą odporną na wielowątkowość. Nawet w przypadku synchronizacji kolekcji inne wątki nadal mogą modyfikować kolekcję. Powoduje to zgłaszanie wyjątku przez moduł wyliczający. Aby zagwarantować bezpieczeństwo wątków podczas wyliczania, można zablokować kolekcję podczas całego procesu wyliczania albo rejestrować wyjątki wynikłe ze zmian wprowadzanych przez inne wątków.

Dotyczy