IEnumerable is the base interface for all non-generic collections that can be enumerated. For the generic version of this interface see.IEnumerable contains a single method, GetEnumerator, which returns an IEnumerator.IEnumerator provides the ability to iterate through the collection by exposing a Current property and MoveNext and Reset methods.f your collection does not implement IEnumerable, you must still follow the iterator pattern to support this syntax by providing a GetEnumerator method that returns an interface, class or struct. When using Visual Basic, you must provide an IEnumerator implementation, which is returned by GetEnumerator.