.NET中在一个继承体系上定义多个相同的接口是基于什么样的理由?

发布于 2022-09-07 04:01:30 字数 533 浏览 30 评论 0

.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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文