PathSegmentCollection.GetEnumerator Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí enumerátor, který může iterovat v rámci kolekce.
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
Návraty
To PathSegmentCollection.Enumerator může procházet kolekcí.
Poznámky
Enumerátory umožňují čtení pouze dat v kolekci. Enumerátory nelze použít k úpravě podkladové kolekce.
Na začátku je enumerátor umístěn před první položkou v kolekci. také vrátí enumerátor zpět na tuto pozici. Volání v této pozici Current vyvolá výjimku. Proto je nutné volat MoveNext , aby se enumerátor přepojí na první položku kolekce před čtením hodnoty Current.
Current vrátí stejný objekt, dokud se nevolá MoveNext nebo Reset nevolá. MoveNext nastaví Current na další položku.
Po předání konce kolekce se enumerátor umístí za poslední položku v kolekci a volání MoveNext vrátí false
. Pokud se vrátí poslední volání MoveNext false
, volání Current vyvolá výjimku. Pokud chcete nastavit Current první položku kolekce znovu, můžete zavolat a volat Reset 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í položek, enumerátor je nevratně neplatný a další volání MoveNext nebo Reset vyvolá chybu InvalidOperationException. Pokud je kolekce změněna mezi MoveNext a Current, Current vrátí položku, na kterou je nastavena, i když je enumerátor již neplatný.
Enumerátor nemá výhradní přístup k kolekci; proto výčet prostřednictvím kolekce není vnitřně bezpečným postupem vlákna. I když je kolekce synchronizována, můžou ostatní vlákna i nadále upravovat kolekci, což 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.