Sdílet prostřednictvím


CustomStrokes.CustomStrokesEnumerator.Current Property

Gets the Strokes collection in the CustomStrokes collection to which the enumerator is pointing.

Namespace:  Microsoft.Ink
Assembly:  Microsoft.Ink (in Microsoft.Ink.dll)

Syntax

'Declaration
Public ReadOnly Property Current As Strokes
'Usage
Dim instance As CustomStrokes.CustomStrokesEnumerator 
Dim value As Strokes 

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

Property Value

Type: Microsoft.Ink.Strokes
The Strokes collection in the CustomStrokes collection to which the enumerator is pointing.

Remarks

After a CustomStrokes.CustomStrokesEnumerator enumerator is created, or after the Reset method is called, the MoveNext method must be called to advance the enumerator to the first element of the collection before reading the value of the Current property; otherwise, the Current property is undefined.

The Current property throws an exception if the last call to the MoveNext method returns false. If the last call to the MoveNext method returns false, the enumerator has reached the end of the CustomStrokes collection.

The Current property does not move the position of the enumerator. Consecutive calls to the Current property return the same object until either the MoveNext or Reset method is called.

An enumerator remains valid as long as the collection remains unchanged. If changes are made to the collection—such as adding, modifying or deleting elements—the enumerator is irrecoverably invalidated. The next call to the MoveNext or Reset method throws an System.InvalidOperationException exception. If the collection is modified between calling the MoveNext method and calling the Current property, the Current property returns the element that it is set to, even if the enumerator is already invalidated.

Examples

These examples show two ways to enumerate the CustomStrokes collection in order to retrieve each Strokes object contained in the collection.

This example obtains the IEnumerator for the CustomStrokes collection, and uses it to traverse the collection. Each Strokes object is then scaled by a factor of 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);
    }
}

This example uses the foreach statement, which calls the GetEnumerator method in internal code that the compiler generates to support the statement.

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);
    }

}

Platforms

Windows 7, Windows Vista, Windows Server 2008 R2, Windows Server 2008

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Version Information

.NET Framework

Supported in: 3.0

See Also

Reference

CustomStrokes.CustomStrokesEnumerator Class

CustomStrokes.CustomStrokesEnumerator Members

Microsoft.Ink Namespace

CustomStrokes

Strokes

CustomStrokes.CustomStrokesEnumerator.MoveNext

CustomStrokes.CustomStrokesEnumerator.Reset

Other Resources

System.Collections.IEnumerator