For example:
public interface IEnumerable
{
IEnumerator GetEnumerator();
}
//This interface allows the caller to obtain a container's items.
public interface IEnumerator
{
bool MoveNext ();
object Current { get;}
void Reset();
}
Why not just implement IEnumerator instead of using IEnumerable that forces you to implement a method that returns type IEnumerator?