IEnumerable,ICollection,IList接口问题
Posted 一条大大大大大咸鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IEnumerable,ICollection,IList接口问题相关的知识,希望对你有一定的参考价值。
最近有一个疑问:IList已经继承了ICollection<T>,而ICollection<T>继承了 IEnumerable<T>, IEnumerable,那为什么IList还要继承 IEnumerable<T>, IEnumerable?
于是我自己写了接口测试:用dnSpy反编译看到,Test3接口继承了Test1,Test2。这就说明接口其实不支持跟类一样的继承的,但是我们实际用的时候却跟类用法一样,好像支持继承,这其实是编译器帮我们补齐了接口的定义,添加上了Test1。
以上是关于IEnumerable,ICollection,IList接口问题的主要内容,如果未能解决你的问题,请参考以下文章
如何选择使用IEnumerable, ICollection, IList
什么时候应该使用列表而不是 ICollection 或 IEnumerable? [关闭]
EF ICollection Vs List Vs IEnumerable Vs IQueryable
IList,ICollection,IEnumerable,IEnumerator,IQueryable