
Zitat von
Luckie:

Zitat von
Khabarakh:
ebenso die Namespace-Angabe von IEnumerator<T>, die eher verwirren dürfte und die du bei List<T> ja auch nicht verwendet hast.
Aber die brauche ich doch für das foreach Konstrukt:
Dafür solltest du IEnumerable<T> implementieren.
Denn so wie du es jetzt hast, hast du nur eine öffentliche Methode GetEnumerator und vertraust darauf, dass der Compiler anhand dieses Namens und des Rückgabewertes entscheidungen trifft. Aber ohne IEnumerable<T> gibt es kein LINQ und viele andere Dinge gehen auch nicht.
Eine Containerklasse sollte in .net alle Standardinterfaces implementieren, die auf sie zutreffen.
Bei dir wäre das IList<T>, welches ICollection<T> und IEnumerable<T> mitbringt.