感觉System.Collections名称空间中的几个接口定义有点冗余啊
例如,.net核心类型的接口定义有3个基本的接口:
public interface ICollection : IEnumerable
public interface IList : ICollection, IEnumerable
public interface IDictionary : ICollection, IEnumerable
可是既然ICollection已经是从IEnumerable继承而来的,我感觉IList和IDictionary只要直接继承ICollection就可以了,为什么还要继承自IEnumerable呢? 是不是多余的,还是有什么设计上的考量?
------解决方案--------------------这不是逻辑需求,只是写法的问题,IList和IDictionary继承的时候不写IEnumerable也是可以的。
但是为了让看代码的人清晰,所以就写上了。
你想啊,如果不写的,你想之后实现了什么接口就要继承树一点点的翻,如果多一点的话翻起来很麻烦。写出来就是一目了然。
------解决方案--------------------http://bbs.csdn.net/topics/370246598
阿非曾经教育过我,“再深入一点你会得到莫大快乐”,所以我始终难忘。
------解决方案--------------------
版主,我看了下那个博客,觉得和这个还有点区别!
这个是接口之间的继承,那个是类继承接口和类继承类的问题;这两个难道是一样的原理?