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

  • 问题

  • .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中有很多,为什么要这样设计呢?是基于什么样的思想呢?
    2018年4月27日 2:48

答案

全部回复