IDTSCustomPropertyCollection100.GetEnumerator 方法

定义

public:
 System::Collections::IEnumerator ^ GetEnumerator();
[System.Runtime.InteropServices.DispId(-4)]
public System.Collections.IEnumerator GetEnumerator ();
[<System.Runtime.InteropServices.DispId(-4)>]
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator

返回

可以循环访问自定义属性集合的 IEnumerator

实现

属性

注解

枚举器仅允许读取集合中的数据。 枚举器不能用于修改基础集合。

最初,枚举数定位在集合中第一个元素的前面。 重置 还会将枚举器带回此位置。 在此位置,调用 Current 将引发异常。 因此,在读取 Current 值之前,必须调用 MoveNext 将枚举器前进到集合的第一个元素。

当前 返回相同的对象,直到调用 MoveNextResetMoveNextCurrent 设置为下一个元素。

传递集合末尾后,枚举器位于集合中最后一个元素之后,调用 MoveNext 返回 false。 如果最后一次调用 MoveNext 返回 false,则调用 Current 将引发异常。 若要再次将 Current 设置为集合的第一个元素,可以调用 Reset ,后跟 MoveNext

只要集合保持不变,枚举器就仍有效。 如果对集合进行了更改(例如添加、修改或删除元素),枚举器将不可恢复地失效,并且对 MoveNextReset 的下一次调用将引发 InvalidOperationException。 如果集合在 MoveNextCurrent 之间修改, 则 Current 将返回它设置为的元素,即使枚举器已失效。

枚举数没有对集合的独占访问权;因此,从头到尾对一个集合进行枚举在本质上不是一个线程安全的过程。 即使某个集合已同步,其他线程仍可以修改该集合,这会导致枚举数引发异常。 若要确保枚举过程中的线程安全性,可以在整个枚举期间锁定集合,或者捕获由其他线程进行的更改所导致的异常。

适用于