BreakpointTargetEnumerator クラス

BreakpointTargets コレクションの BreakpointTargetEnumerator を作成します。このクラスは継承できません。

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

構文

'宣言
Public NotInheritable Class BreakpointTargetEnumerator _
    Inherits DtsEnumerator
'使用
Dim instance As BreakpointTargetEnumerator
public sealed class BreakpointTargetEnumerator : DtsEnumerator
public ref class BreakpointTargetEnumerator sealed : public DtsEnumerator
[<SealedAttribute>]
type BreakpointTargetEnumerator =  
    class
        inherit DtsEnumerator
    end
public final class BreakpointTargetEnumerator extends DtsEnumerator

説明

列挙子は、コレクションのデータ読み取りのみを有効にします。列挙子を使用して、基になるコレクションを変更することはできません。

最初、列挙子はコレクションの先頭の要素の前に位置付けられます。また、Reset メソッドは、列挙子を最初の位置に戻します。この位置で Current プロパティを呼び出すと、例外がスローされます。したがって、Current の値を読み取る前に、MoveNext メソッドを呼び出して、列挙子をコレクションの先頭の要素に進めておく必要があります。

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

列挙子は、コレクションの末尾を越えると、コレクションの最後の要素の後に位置付けられるので、MoveNext を呼び出すと false が返されます。前回 MoveNext を呼び出して false が返された場合に、Current を呼び出すと例外がスローされます。コレクションの先頭の要素に再び Current を設定するには、先に Reset を呼び出してから MoveNext を呼び出します。

列挙子は、コレクションが変更されない限り有効です。要素の追加、変更、削除など、コレクションに変更が加えられた場合は、列挙子は無効になり回復できなくなります。そのため、次の MoveNext または Reset の呼び出しで InvalidOperationException がスローされます。ただし、MoveNext を呼び出してから Current を呼び出すまでの間にコレクションが変更された場合、列挙子は無効になっていても、Current は設定されている要素を返します。

列挙子はコレクションに排他アクセスできないため、コレクションの列挙処理はスレッドセーフなプロシージャではありません。コレクションが同期されている場合でも、他のスレッドがコレクションを変更する場合があるため、列挙子が例外をスローする原因になります。列挙処理中のスレッドセーフを確保するには、列挙処理の間を通してコレクションをロックするか、または他のスレッドによって加えられた変更に起因する例外をキャッチします。

継承階層

System. . :: . .Object
  Microsoft.SqlServer.Dts.Runtime. . :: . .DtsEnumerator
    Microsoft.SqlServer.Dts.Runtime..::..BreakpointTargetEnumerator

スレッド セーフ

この型の public static (Visual Basic では Shared) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。