.NET中在一个继承体系上定义多个相同的接口是基于什么样的理由?
.NET官方文档中非泛型IList接口的定义是:
public interface IList : ICollection, IEnumerable
而ICollection接口的定义本身也会继承自IEnumerable,如下图:
public interface ICollection : IEnumerable
既然IList 继承自ICollection ,而ICollection 又继承自IEnumerable,
那么为何IList的定义中还要显示声明继承自IEnumerable呢?如果IList的定义去掉显示的IEnumerable继承, 像下面这样会有什么潜在的问题?
public interface IList : ICollection
类似这样重复继承相同接口的现象在.NET Framework BCL中有很多,为什么要这样设计呢?是基于什么样的思想呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
答案