Falls es jemand interessiert hier ein kleines Code-Snippet, welches mit einige Zeit gekostet hat. Und zwar ging es darum, das generische System.Collections.Generic.ICollection<T> Interface zu implementieren.
Das Problem dabei ist, dass ICollection<T> von IEnumerable<T> und IEnumerable (einmal mit Template einmal ohne) abgeleitet ist. Dadurch ergibt sich das Problem, dass jeder der ICollection<T> implementiert zweimal GetEnumerator implementieren muss, jedoch mit unterschiedlichen Return-Types.
Die Lösung schaut so aus:
D.h. die Methoden unterscheiden sich nur im Rückgabetyp und nicht im Namen oder der Parameterliste. Wie der Compiler checkt, welches GetEnumerator gemeint ist, ist mir zwar ein Rätsel, aber er packt es....
hth
Das Problem dabei ist, dass ICollection<T> von IEnumerable<T> und IEnumerable (einmal mit Template einmal ohne) abgeleitet ist. Dadurch ergibt sich das Problem, dass jeder der ICollection<T> implementiert zweimal GetEnumerator implementieren muss, jedoch mit unterschiedlichen Return-Types.
Die Lösung schaut so aus:
D.h. die Methoden unterscheiden sich nur im Rückgabetyp und nicht im Namen oder der Parameterliste. Wie der Compiler checkt, welches GetEnumerator gemeint ist, ist mir zwar ein Rätsel, aber er packt es....
hth