ActivityCollection.GetEnumerator Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
Ö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 false
son ç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.