MaterialCollection.GetEnumerator Yöntem

Tanım

Koleksiyonda yinelenebilen bir listeleyici döndürür.

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

Döndürülenler

Koleksiyonu yineleyebilecek bir numaralandırıcı.

Açıklamalar

Numaralandırıcılar yalnızca koleksiyondaki verilerin okunmasına izin verir. Numaralandırıcılar, temel alınan koleksiyonu değiştirmek için kullanılamaz.

Başlangıçta, numaralandırıcı koleksiyondaki ilk öğeden önce konumlandırılır. Bu konumda çağrısı Current bir özel durum oluşturur. Bu nedenle, Geçerli değerini okumadan önce numaralandırıcıyı koleksiyonun ilk öğesine ilerletmek için çağrısında MoveNext bulunmalısınız.

Current, MoveNext veya Reset çağrılana kadar aynı nesneyi döndürür. MoveNext, Current öğesini sonraki öğeye ayarlar.

Koleksiyonun sonu geçirildikten sonra numaralandırıcı koleksiyondaki son öğeden sonra konumlandırılır ve MoveNext çağrısı false değerini döndürür. MoveNext'e yapılan son çağrı false döndürdüyse, Current çağrısı bir özel durum oluşturur. Geçerli'yi koleksiyonun ilk öğesi olarak yeniden ayarlamak için Sıfırlama'yı ve ardından MoveNext'i çağırabilirsiniz.

Bir numaralandırıcı, koleksiyon değişmeden kaldığı sürece geçerli kalır. Koleksiyonda öğe ekleme, değiştirme veya silme gibi değişiklikler yapılırsa, numaralandırıcı geri alınamaz şekilde geçersiz kılınmış olur ve MoveNext veya Reset çağrısı bir InvalidOperationException oluşturur. Koleksiyon MoveNext ve Current arasında değiştirilirse, Numaralandırıcı zaten geçersiz olsa bile Current, ayarlandığı öğeyi döndürür.

Numaralandırıcının, koleksiyona özel kullanım erişimi yok; bu nedenle, bir koleksiyon içinde numaralandırma aslında bir iş parçacığı açısından güvenli yordam değildir. Bir koleksiyon eşitlendiğinde bile, diğer iş parçacıkları yine de koleksiyonu değiştirebilir ve bu da numaralandırıcının bir özel durum oluşturmasına neden olur. Numaralandırma sırasında iş parçacığı güvenliği sağlamak için tüm numaralandırma sırasında koleksiyonu kilitleyebilir veya diğer iş parçacıkları tarafından yapılan değişikliklerden kaynaklanan özel durumları yakalayabilirsiniz.

Şunlara uygulanır