ActivityCollection.GetEnumerator Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Implementuje interfejs wyliczania 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
Moduł wyliczający, który może iterować przez ReadOnlyCollectionBase wystąpienie.
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 wartość na następny element.
Po przekazaniu końca kolekcji moduł wyliczający jest umieszczony po ostatnim elemenie w kolekcji, a wywołanie zwraca wartość MoveNextfalse. Jeśli ostatnie wywołanie zwracane MoveNextfalse, wywołanie Current wywołania zgłasza wyjątek.
Aby ponownie ustawić Current pierwszy element kolekcji, możesz wywołać Reset metodę , a następnie .MoveNext
Moduł wyliczający pozostaje prawidłowy, o ile kolekcja pozostaje niezmieniona. Jeśli zmiany zostaną wprowadzone w kolekcji, takie jak dodawanie, modyfikowanie lub usuwanie elementów, moduł wyliczający jest nieodwracalnie unieważniany, a następne wywołanie lub wywołanie MoveNext metody Reset .InvalidOperationException Jeśli kolekcja zostanie zmodyfikowana między parametrami MoveNext i Current, Current zwróci element, na który został ustawiony, 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 za pośrednictwem kolekcji nie jest wewnętrznie procedurą bezpieczną wątkowo. Nawet w przypadku synchronizacji kolekcji inne wątki nadal mogą modyfikować kolekcję. Spowoduje to wystąpienie wyjątku przez moduł wyliczający. Aby zagwarantować bezpieczeństwo wątków podczas wyliczania, możesz zablokować kolekcję podczas całego wyliczenia lub przechwycić wyjątki wynikające ze zmian wprowadzonych przez inne wątki.