【发布时间】:2014-08-16 04:17:12
【问题描述】:
我正在审查继承,对继承接口有些困惑。我们以List<T>为例。
我有这个基本声明:
List<string> categoryList = new List<string>();
当我在光标位于List 时单击Go to Definition,它会显示此代码,
public class List<T> : IList<T>, ICollection<T>, IList, ICollection,
IReadOnlyList<T>, IReadOnlyCollection<T>,
IEnumerable<T>, IEnumerable
{
}
如果我在光标位于IList<T> 上时再次单击Go to Definition
public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable
{
}
现在我的问题是:为什么List<T> 仍然继承ICollection<T>、IEnumerable<T> 和IEnumerable 而IList<T> 已经继承了它?
【问题讨论】: