GetEnumerator メソッド

EventInfos コレクションに対する繰り返し処理で使用する列挙子を返します。

名前空間:  Microsoft.SqlServer.Dts.Runtime
アセンブリ:  Microsoft.SqlServer.ManagedDTS (Microsoft.SqlServer.ManagedDTS.dll)

構文

'宣言
Public Function GetEnumerator As EventInfoEnumerator
'使用
Dim instance As EventInfos
Dim returnValue As EventInfoEnumerator

returnValue = instance.GetEnumerator()
public EventInfoEnumerator GetEnumerator()
public:
EventInfoEnumerator^ GetEnumerator()
member GetEnumerator : unit -> EventInfoEnumerator 
public function GetEnumerator() : EventInfoEnumerator

説明

列挙子は、コレクションのデータを読み込むためだけに使用することを目的としています。列挙子を使用して、基になるコレクションを変更することはできません。

列挙子は、コレクションに排他アクセスできません。

列挙子を作成すると、コレクションの現在の状態のスナップショットが作成されます。要素の追加、変更、削除など、コレクションに変更が加えられた場合は、スナップショットが同期されない状態になり、列挙子によって InvalidOperationException がスローされます。同時に同じコレクションから作成された列挙子でも、それぞれが持つコレクションのスナップショットが異なる場合があります。

列挙子は、コレクションの最初の要素の前に配置されていたり、コレクションの最後の要素の後ろに配置されていると、無効な状態にあります。列挙子の状態が無効である場合、Current を呼び出すと例外がスローされます。

最初、列挙子は、コレクションの先頭の要素の前に配置されます。Reset を使用した場合も、列挙子がこの位置に戻されます。そのため、列挙子を作成した後や Reset を呼び出した後は、Current の値を読み取る前に MoveNext を呼び出して、列挙子をコレクションの先頭の要素に進めておく必要があります。

Current は、MoveNext または Reset が呼び出されるまでは同じオブジェクトを返します。

コレクションの末尾を越えた場合は、列挙子はまた無効な状態となり、MoveNext を呼び出すと false が返されます。前回 MoveNext を呼び出して false が返された後に Current を呼び出すと、例外がスローされます。