diff options
Diffstat (limited to 'src/mscorlib/shared/System/Collections/IEnumerator.cs')
-rw-r--r-- | src/mscorlib/shared/System/Collections/IEnumerator.cs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/mscorlib/shared/System/Collections/IEnumerator.cs b/src/mscorlib/shared/System/Collections/IEnumerator.cs new file mode 100644 index 0000000000..2c2c2e4a97 --- /dev/null +++ b/src/mscorlib/shared/System/Collections/IEnumerator.cs @@ -0,0 +1,41 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using System.Runtime.InteropServices; + +namespace System.Collections +{ + // Base interface for all enumerators, providing a simple approach + // to iterating over a collection. + public interface IEnumerator + { + // Advances the enumerator to the next element of the enumeration and + // returns a boolean indicating whether an element is available. Upon + // creation, an enumerator is conceptually positioned before the first + // element of the enumeration, and the first call to MoveNext + // brings the first element of the enumeration into view. + // + bool MoveNext(); + + // Returns the current element of the enumeration. The returned value is + // undefined before the first call to MoveNext and following a + // call to MoveNext that returned false. Multiple calls to + // GetCurrent with no intervening calls to MoveNext + // will return the same object. + // + Object Current + { + get; + } + + // Resets the enumerator to the beginning of the enumeration, starting over. + // The preferred behavior for Reset is to return the exact same enumeration. + // This means if you modify the underlying collection then call Reset, your + // IEnumerator will be invalid, just as it would have been if you had called + // MoveNext or Current. + // + void Reset(); + } +} |