这可能是一个古老的问题:为什么IEnumerable<T>
继承自IEnumerable
?为什么IEnumerable <T>从IEnumerable继承?
这是.NET的做法,但它带来了一些麻烦。每次我写一个类实现IEumerable<T>
,我必须写两个GetEnumerator()
函数,一个用于IEnumerable<T>
,另一个用于IEnumerable
。
而且,IList<T>
不自IList继承。
我不知道为什么IEnumerable<T>
的设计在其他的方式。
这很有趣......我真的很烦恼,`IList`没有继承`IList`,但只要你考虑到它的差异,它开始有意义... –
2009-11-29 01:01:04
这太糟糕了微软从来没有定义IReadableByIndex和IReadableByIndex (Of T),可以由IList和IList(Of T)继承。 IReadableByIndex可以被IReadableByIndex(Of T)毫无困难地继承,只读索引集合的方差会非常好。 – supercat 2011-01-16 23:06:01