在System.Collections中有这几个接口和类,他们继承关系如下:
IEnumerable
ICollection : IEnumerable
IList : ICollection, IEnumerable
ArrayList : IList, ICollection, IEnumerable, ICloneable
我不明为什么要这样继承,ICollection继承了IEnumerable,所以IList就不应该继承IEnumerable了。ArrayList也只需继承IList和ICloneable就够了。以上只是我理解,我知道自己理解肯定是片面的,希望高手能够指点一二。
IEnumerable
ICollection : IEnumerable
IList : ICollection, IEnumerable
ArrayList : IList, ICollection, IEnumerable, ICloneable
我不明为什么要这样继承,ICollection继承了IEnumerable,所以IList就不应该继承IEnumerable了。ArrayList也只需继承IList和ICloneable就够了。以上只是我理解,我知道自己理解肯定是片面的,希望高手能够指点一二。
解决方案 »
- winform ftp上传 问题
- winform中datatgridview数据更新
- C# WinForm中 ReadProcessMemory读取中文问题
- 那位有Regulator:生成正则表达式工具发给我!
- 在C#中有没有类似VB中的createobject函数啊?
- HtmlElementCollection收集网站元素的问题
- 请教一下C#中API动态库函数的声明的几个问题
- winform的Language属性感觉没有什么用啊
- 急急急!请帮我!
- 我用web程序生成了word的document的对象,怎么通过网页输出word文件?不是保存到
- 请问如何获取文件的Fourcc值?
- 谁能给一个把解决方案打包成.exe的安装程序的教程给我。
http://msdn.microsoft.com/en-us/library/ms173157(VS.80).aspx
关注...........
IEnumerable ,IEnumerator集合迭代访问
ICollection:控制对集合访问
IList:添加数据绑定
ICloneable :copy复制至于你问的问题,他为啥还要实现自己的东西,答案很简单。因为某些类他没有开放给下一级修改的权限,他自己实现的方法是私有或void型
ArrayList : IList, ICollection, IEnumerable, ICloneable 看到没有Ilist在第一个,他表示他是继承的IList类,而不是Ilist接口,而IList并没有公开ICollection, IEnumerable这两个接口的信息,所以ArraryList如果想要自己于IList不同的效果,那么他就要实现自己的ICollection, IEnumerable接口