日期:2014-05-18  浏览次数:20856 次

c#接口实现的问题
有两个接口IA,IB,IA继承IB
类C实现IA,C:IA
但为什么要这么写C:IA,IB IB,在这里完全可以省略,因为IA继承IB
.NET基础类库中有很多中这样的写法,这里为什么要多这么一个占位呢,比如
public abstract class Array : ICloneable, 
IList, ICollection, IEnumerable
这其中,IList, ICollection都是继承了IEnumerable的,IEnumerable还写在这里其不是多余,为什么不这么定义类
blic abstract class Array : ICloneable, 
IList, ICollection

------解决方案--------------------
这样就能根据所用的功能来选择实现哪个接口,比如只用到了迭代的功能那就选择实现IEnumerable接口,如果需要用到集合的功能那就选择实现IList接口