PathSegmentCollection.GetEnumerator Metoda

Definicja

Zwraca moduł wyliczający, który może wykonać iterację kolekcji.

public:
 System::Windows::Media::PathSegmentCollection::Enumerator GetEnumerator();
public System.Windows.Media.PathSegmentCollection.Enumerator GetEnumerator ();
member this.GetEnumerator : unit -> System.Windows.Media.PathSegmentCollection.Enumerator
Public Function GetEnumerator () As PathSegmentCollection.Enumerator

Zwraca

PathSegmentCollection.Enumerator

Element PathSegmentCollection.Enumerator , który może iterować przez kolekcję.

Uwagi

Moduły wyliczające zezwalają tylko na odczytywanie danych w kolekcji. Moduły wyliczania nie mogą być używane do modyfikowania bazowej kolekcji.

Początkowo moduł wyliczający jest umieszczony przed pierwszym elementem w kolekcji. powoduje również powrót modułu wyliczającego do tej pozycji. W tej pozycji wywołanie Current zgłasza 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 zwraca ten sam obiekt do momentu wywołania metody MoveNext lub Reset . MoveNext zestawy Current do następnego elementu.

Po przekazaniu końca kolekcji moduł wyliczający jest umieszczony po ostatnim elemencie w kolekcji, a wywołanie MoveNext zwraca wartość false. Jeśli ostatnie wywołanie zwracane MoveNext false, wywołanie Current zgłasza wyjątek. Aby ponownie ustawić Current element pierwszej kolekcji, możesz wywołać Reset metodę MoveNext.

Moduł wyliczający zachowuje ważność tak długo, jak długo kolekcja pozostaje niezmieniona. Jeśli zmiany są wprowadzane do kolekcji, takie jak dodawanie, modyfikowanie lub usuwanie elementów, moduł wyliczający jest nieodwracalnie unieważniany, a następne wywołanie MoveNext lub Reset zgłasza InvalidOperationExceptionelement . Jeśli kolekcja zostanie zmodyfikowana między elementami MoveNext i Current, Current zwróci element ustawiony na, nawet jeśli moduł wyliczający został 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 mogą nadal modyfikować kolekcję, co powoduje, że moduł wyliczający zgłasza wyjątek. 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

Zobacz też