首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

重复继承?解决思路

2012-09-16 
重复继承?C# codepublic class ListT : IListT, ICollectionT, IEnumerableT, IList, ICollection

重复继承?

C# code
public class List<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable

C# code
public interface IList<T> : ICollection<T>, IEnumerable<T>, IEnumerable

C# code
public interface ICollection<T> : IEnumerable<T>, IEnumerable

C# code
public interface IEnumerable<out T> : IEnumerable

C# code
public interface IList : ICollection, IEnumerable

C# code
public interface ICollection : IEnumerable

源码中为什么是这样呢?
a继承b,b继承c,a不就继承c了么?

[解决办法]
探讨

引用:

什么abc的,这就是接口继承,接口可以多重继承


[解决办法]
这问题被问过多少遍了
全部写出来只是为了好看而已

而且,实际上.net的产品源代码里也没这么写,只是MSDN库上是这么写的
因为MSDN库是文档,所以给你写清楚点


[解决办法]
这么显式的写出来是为了让看的人方便,这样你一看就可以看出都实现了什么接口。
你看

List<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable

一眼就知道List<T> 实现了什么接口,不然的话你就需要一个个接口的去翻定义,才知道List<T> 实现了什么接口。
当然,你也可以不显式的写出来,这对逻辑一点影响没有,只是为了看着方便。

热点排行