BreakpointTargetEnumerator Class

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

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

構文

'宣言
Public NotInheritable Class BreakpointTargetEnumerator
    Inherits DtsEnumerator
public sealed class BreakpointTargetEnumerator : DtsEnumerator
public ref class BreakpointTargetEnumerator sealed : public DtsEnumerator
public final class BreakpointTargetEnumerator extends DtsEnumerator
public final class BreakpointTargetEnumerator extends DtsEnumerator

解説

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

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

Current は、MoveNext または Reset が呼び出されるまで同じオブジェクトを返します。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 (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

BreakpointTargetEnumerator Members
Microsoft.SqlServer.Dts.Runtime Namespace