ActivityCollection.GetEnumerator 方法

定義

實作一個列舉介面。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)

傳回

一個能夠遍歷實 ReadOnlyCollectionBase 例的列舉器。

實作

備註

列舉器僅能讀取集合中的資料。 你不能用列舉器來修改底層的集合。

首先,列舉器會被放置在集合中的第一個元素之前。 Reset 同時也讓普查員回到這個位置。 在這個職位上,叫來 Current 是例外。 因此,您必須先呼叫 MoveNext 列舉器先將列舉器推進到集合的第一個元素,再讀取 的 Current值。

Current 回傳相同物件,直到被呼叫其中一 MoveNextResetMoveNext 設定 Current 為下一個元素。

在集合結束後,列舉器會被置於集合的最後一個元素之後,呼叫 MoveNextfalse返回 。 若最後一次呼叫MoveNext回傳falseCurrent,則呼叫會產生例外。

若要再次設定 Current 為集合的第一個元素,你可以呼叫 Reset ,接著 MoveNext

只要集合未曾改變,列舉器仍然有效。 若對集合進行變更,例如新增、修改或刪除元素,列舉子將不可逆地失效,下一次呼叫MoveNextReset或提出 InvalidOperationException 。 若集合在與MoveNextCurrent之間Current被修改,則會回傳該集合所設定的元素,即使列舉器已失效。

列舉值沒有集合的獨佔存取權;因此,透過集合列舉本質上不是安全線程的程式。 即使集合已同步,其他執行緒仍可能修改該集合。 這會促使列舉器提出例外。 若要保證列舉期間的線程安全性,您可以在整個列舉期間鎖定集合,或攔截其他線程所做的變更所產生的例外狀況。

適用於