Aracılığıyla paylaş


ActivityCollection.GetEnumerator Yöntem

Tanım

için bir numaralandırma arabirimi ICollectionuygular.

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)

Döndürülenler

IEnumerator<Activity>

Örnekte yineleyebilecek ReadOnlyCollectionBase bir numaralandırıcı.

Uygulamalar

Açıklamalar

Numaralandırıcılar yalnızca koleksiyondaki verilerin okunmasını etkinleştirir. Temel alınan koleksiyonu değiştirmek için numaralandırıcıları kullanamazsınız.

Başlamak için, numaralandırıcı koleksiyondaki ilk öğeden önce konumlandırılır. Reset ayrıca numaralandırıcıyı bu konuma geri getirir. Bu konumda çağrısı Current bir özel durum oluşturur. Bu nedenle, değerini Currentokumadan önce numaralandırıcıyı koleksiyonun ilk öğesine ilerletmek için çağrısında MoveNext bulunmalısınız.

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

Koleksiyonun sonu geçirildikten sonra numaralandırıcı, koleksiyondaki son öğeden sonra konumlandırılır ve çağrısı MoveNext döndürür false. döndürülen falseson çağrı MoveNext ise çağrısı Current bir özel durum oluşturur.

Koleksiyonun ilk öğesine yeniden ayarlamak Current için öğesini ve ardından MoveNextöğesini çağırabilirsinizReset.

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 bir InvalidOperationException sonraki çağrısı veya MoveNext Reset oluşturur. Koleksiyon ile CurrentCurrent arasında MoveNext değiştirilirse, numaralandırıcı zaten geçersiz olsa bile, 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ı koleksiyonu değiştirebilir. Bu, 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