Sdílet prostřednictvím


Transform3DCollection.GetEnumerator Metoda

Definice

Vrátí enumerátor, který může iterovat v rámci kolekce.

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

Návraty

Transform3DCollection.Enumerator

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

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 před čtením hodnoty Current je nutné volat MoveNext , aby se enumerátor přepojí na první položku kolekce.

Aktuální vrátí stejný objekt, dokud se nevolá MoveNext nebo Reset nevolá. Funkce MoveNext nastaví Aktuální 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í hodnotu false. Pokud poslední volání funkce MoveNext vrátilo hodnotu false, vyvolá volání Current výjimku. Chcete-li nastavit Current na první položku 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í položek, enumerátor je nevratně neplatný a další volání MoveNext nebo Reset vyvolá InvalidOperationException. Pokud je kolekce změněna mezi MoveNext a Current, vrátí current 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.

Platí pro