質問させてください。
本やネットに載っているサンプルをまねて、下記のようなMyCollection<T>クラスを作りました。

public class MyCollection<T> : IEnumerable<T>
{
List<T> list;
public MyCollection()
{ list = new List<T>(); }
public void AddObject(T item)
{ list.Add(item); }
public IEnumerator<T> GetEnumerator()
{ for (int i = 0; i < list.Count; i++) yield return list[i]; }
IEnumerator IEnumerable.GetEnumerator()
{ return this.GetEnumerator(); }
}

このクラスでは、非ジェネリック版のGetEnumerator()は、インターフェイスIEnumerableを明示的に実装しています。
(サンプルがそうなってたのでそうしています。)

== 続く ==