これは古い質問かもしれません: なぜ はIEnumerable<T>から継承するのIEnumerableですか?
これが .NET のやり方ですが、少し問題が生じます。クラスimplementsを書くたびにIEumerable<T>、2つのGetEnumerator()関数を書く必要があります.1つはforともう1つはIEnumerable<T>forIEnumerableです。
また、IList<T>IList から継承しません。
IEnumerable<T>なぜ他の方法で設計されているのかわかりません。