次の方法で共有


CustomStrokes.CustomStrokesEnumerator.Current プロパティ

列挙子が指している CustomStrokes コレクション内の Strokes コレクションを取得します。

名前空間 :  Microsoft.Ink
アセンブリ :  Microsoft.Ink (Microsoft.Ink.dll 内)

構文

'宣言
Public ReadOnly Property Current As Strokes
'使用
Dim instance As CustomStrokes..::.CustomStrokesEnumerator
Dim value As Strokes

value = instance.Current
public Strokes Current { get; }
public:
property Strokes^ Current {
    Strokes^ get ();
}
/** @property */
public Strokes get_Current()
public function get Current () : Strokes

プロパティ値

型 : Microsoft.Ink.Strokes
列挙子が指している CustomStrokes コレクション内の Strokes コレクション。

解説

CustomStrokes.CustomStrokesEnumerator 列挙子を作成した後や Reset メソッドを呼び出した後に、コレクションの最初の要素に列挙子を進めるためには、Current プロパティの値を読み取る前に MoveNext メソッドを呼び出す必要があります。そうしない場合、Current プロパティは未定義になります。

MoveNext メソッドの前回の呼び出しで false が返された場合、Current プロパティにより例外がスローされます。MoveNext メソッドの前回の呼び出しで false が返された場合、列挙子は CustomStrokes コレクションの末尾に到達します。

Current プロパティは、列挙子の位置を移動しません。Current プロパティを連続して呼び出した場合、MoveNext メソッドまたは Reset メソッドが呼び出されるまでは同じオブジェクトが返されます。

コレクションが変更されない限り、列挙子は有効なままです。要素の追加、変更、削除などの変更がコレクションに対して実行されると、列挙子は回復不可能な無効状態になります。MoveNext メソッドまたは Reset メソッドの次の呼び出しで、System.InvalidOperationException 例外がスローされます。コレクションが MoveNext メソッドの呼び出しと Current プロパティの呼び出しとの間で変更された場合は、列挙子が既に無効になっていても、Current プロパティは設定した要素を返します。

これらの例では、CustomStrokes コレクションを列挙して、コレクションに含まれる各 Strokes オブジェクトを取得する方法を 2 つ示します。

この例では、CustomStrokes コレクション用に IEnumerator を取得し、これを使用してコレクションをスキャンします。次に、各 Strokes オブジェクトがファクタ 2 でスケーリングされます。

Private Sub EnumerateCustomStrokesWithEnumerator(ByVal mInk As Ink)
    Dim mCustomStrokesEnumerator As IEnumerator = mInk.CustomStrokes.GetEnumerator()
    mCustomStrokesEnumerator.Reset()
    While (mCustomStrokesEnumerator.MoveNext())
        Dim S As Strokes = DirectCast(mCustomStrokesEnumerator.Current, Strokes)
        S.Scale(2, 2)
    End While
End Sub
private void EnumerateCustomStrokesWithEnumerator(Ink mInk)
{
    IEnumerator mCustomStrokesEnumerator = mInk.CustomStrokes.GetEnumerator();
    mCustomStrokesEnumerator.Reset();
    while (mCustomStrokesEnumerator.MoveNext())
    {
        Strokes S = (Strokes)mCustomStrokesEnumerator.Current;
        S.Scale(2, 2);
    }
}

この例では、foreach ステートメントを使用します。このステートメントは、ステートメントをサポートするためにコンパイラが生成する内部コードで、GetEnumerator メソッドを呼び出します。

Private Sub EnumerateCustomStrokesWithForEach(ByVal mInk As Ink)
    For Each S As Strokes In mInk.CustomStrokes
        S.Scale(2, 2)
    Next
End Sub
private void EnumerateCustomStrokesWithForEach(Ink mInk)
{
    foreach (Strokes S in mInk.CustomStrokes)
    {
        S.Scale(2, 2);
    }

}

プラットフォーム

Windows Vista

.NET Framework および .NET Compact Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

バージョン情報

.NET Framework

サポート対象 : 3.0

参照

参照

CustomStrokes.CustomStrokesEnumerator クラス

CustomStrokes.CustomStrokesEnumerator メンバ

Microsoft.Ink 名前空間

CustomStrokes

Strokes

CustomStrokes.CustomStrokesEnumerator.MoveNext

CustomStrokes.CustomStrokesEnumerator.Reset

その他の技術情報

System.Collections.IEnumerator