ActivityCollection.GetEnumerator Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menerapkan antarmuka enumerasi ke ICollection.
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)
Mengembalikan
Enumerator yang dapat melakukan iterasi melalui ReadOnlyCollectionBase instans.
Penerapan
Keterangan
Enumerator hanya memungkinkan membaca data dalam koleksi. Anda tidak dapat menggunakan enumerator untuk mengubah koleksi yang mendasar.
Untuk memulai, enumerator diposisikan sebelum elemen pertama dalam koleksi. Reset juga membawa enumerator kembali ke posisi ini. Pada posisi ini, panggilan Current menimbulkan pengecualian. Oleh karena itu, Anda harus memanggil MoveNext untuk memajukan enumerator ke elemen pertama koleksi sebelum membaca nilai Current.
Current mengembalikan objek yang sama hingga atau MoveNextReset dipanggil. MoveNext Current diatur ke elemen berikutnya.
Setelah akhir koleksi diteruskan, enumerator diposisikan setelah elemen terakhir dalam koleksi, dan panggilan MoveNext mengembalikan false. Jika panggilan terakhir untuk MoveNext dikembalikan false, panggilan Current akan menimbulkan pengecualian.
Untuk mengatur Current ke elemen pertama koleksi lagi, Anda dapat memanggil Reset diikuti dengan MoveNext.
Enumerator tetap valid selama koleksi tetap tidak berubah. Jika perubahan dilakukan pada koleksi, seperti menambahkan, memodifikasi, atau menghapus elemen, enumerator tidak dapat dibatalkan dan panggilan berikutnya ke MoveNext atau Reset menaikkan InvalidOperationException . Jika koleksi dimodifikasi antara MoveNext dan Current, Current akan mengembalikan elemen yang diatur ke, bahkan jika enumerator sudah tidak valid.
Enumerator tidak memiliki akses eksklusif ke koleksi; oleh karena itu, menghitung melalui koleksi secara intrinsik bukan prosedur aman utas. Bahkan ketika koleksi disinkronkan, utas lain masih dapat memodifikasi koleksi. Hal ini menyebabkan enumerator memunculkan pengecualian. Untuk menjamin keamanan utas selama enumerasi, Anda dapat mengunci koleksi selama seluruh enumerasi atau menangkap pengecualian yang dihasilkan dari perubahan yang dibuat oleh utas lain.