ForEachEnumeratorInfosEnumerator.Current プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
コレクションから現在の ForEachEnumeratorInfo オブジェクトを返します。
public:
property Microsoft::SqlServer::Dts::Runtime::ForEachEnumeratorInfo ^ Current { Microsoft::SqlServer::Dts::Runtime::ForEachEnumeratorInfo ^ get(); };
public Microsoft.SqlServer.Dts.Runtime.ForEachEnumeratorInfo Current { get; }
member this.Current : Microsoft.SqlServer.Dts.Runtime.ForEachEnumeratorInfo
Public ReadOnly Property Current As ForEachEnumeratorInfo
プロパティ値
コレクション内の現在の ForEachEnumeratorInfo オブジェクト。
例
以下のコードサンプルでは、列挙子を作成し、 Current およびMoveNextメソッドを使ってコレクションをナビゲートします。
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;
using Microsoft.SqlServer.Dts.Runtime.Enumerators.Item;
namespace ForEachEnums
{
class Program
{
static void Main(string[] args)
{
Application app = new Application();
ForEachEnumeratorInfos feInfos = app.ForEachEnumeratorInfos;
//Create the Enumerator.
ForEachEnumeratorInfosEnumerator myEnumerator = feInfos.GetEnumerator();
Console.WriteLine("The collection contains the following values:");
int i = 0;
while ((myEnumerator.MoveNext()) && (myEnumerator.Current != null))
Console.WriteLine("[{0}] {1}", i++, myEnumerator.Current.Name);
}
}
}
出力例:
コレクションには以下の値が含まれています:
[0] 各ファイル列挙子ごとに
[1] 各項目列挙者について
[2] 各ADO調査員ごとに
[3] 各ADO.NETスキーマ行セット列挙子について
[4] 変数列挙子からの各
[5] 各nodeList列挙子に対して
[6] 各SMO調査員ごとに
注釈
列挙子が作成された後、または リセット メソッドを呼び出した後、 MoveNext メソッドを呼び出して列挙子をコレクションの最初の要素に進める必要があります。その後、列挙子が 現在の プロパティの値を読み取ることはできません。そうでなければ、 Current は未定義で例外を投げます。
Current はまた、 MoveNext への最後の呼び出しが false返された場合、コレクション終了を示す例外をスローします。
Currentは 列挙子の位置を移動させず、 Current への連続呼び出しは MoveNext または Reset のいずれかが呼び出されるまで同じオブジェクトを返します。
列挙子は、コレクションが変更されない限り有効なままです。 コレクションに要素の追加、修正、削除などの変更が加えられると、列挙子は無効化され回復不能になります。したがって、次の MoveNext または Reset 呼び出しは InvalidOperationExceptionを投げます。 しかし、 MoveNext と Currentの呼び出し間でコレクションが変更された場合、 Current はエノメレータが無効化されていても設定元の要素を返します。