欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

IEnumerable,ICollection,IList接口问题

程序员文章站 2022-10-18 13:14:35
最近有一个疑问:IList已经继承了ICollection,而ICollection继承了 IEnumerable, IEnumerable,那为什么IList还要继承 IEnumerable, IEnumerable? 于是我自己写了接口测试:用dnSpy反编译看到,Tes ......

最近有一个疑问:IList已经继承了ICollection<T>,而ICollection<T>继承了 IEnumerable<T>, IEnumerable,那为什么IList还要继承 IEnumerable<T>, IEnumerable?

IEnumerable,ICollection,IList接口问题

IEnumerable,ICollection,IList接口问题

于是我自己写了接口测试:用dnSpy反编译看到,Test3接口继承了Test1,Test2。这就说明接口其实不支持跟类一样的继承的,但是我们实际用的时候却跟类用法一样,好像支持继承,这其实是编译器帮我们补齐了接口的定义,添加上了Test1。

IEnumerable,ICollection,IList接口问题

IEnumerable,ICollection,IList接口问题