using System.Collections;
public class Program
{
public class MyEnumerator : IEnumerator
{
public int count = -1;
public int size;
private int[] _data;
public MyEnumerator(Arr arr)
{
this._data = arr.data;
size = _data.Length;
}
public object Current { get { return (int)(_data[count]); } }
public bool MoveNext()
{
count++;
if (count < size)
return true;
else
return false;
}
public void Reset()
{
count = -1;
}
}
public class Arr : IEnumerable
{
public int[] data = new int[] { 3, 2, 1 };
public IEnumerator GetEnumerator()
{
return new MyEnumerator(this);
}
}
private static void Main(string[] args)
{
//int[] ar = new int[] { 5, 4, 3, 2 };
//IEnumerable<int> ie = ar;
//foreach (int i in ie)
// Console.WriteLine(i);
Arr arr = new Arr();
IEnumerable ie = arr;
foreach (int i in ie)
Console.WriteLine(i);
}
}