2009-07-22 67 views

回答

-1
  1. IEnumerable的 - 为了支持foreach语句
  2. 的ICollection - 要支持的ArrayList
+0

提问是不是询问他们是什么 - 询问他们为什么明确列出正在实施,当他们已经通过继承IList实施时 – 2009-07-22 12:37:00

13

添加单个或多个项目没有有效的差异。我相信额外的声明是清晰的。

当反射检查,班这在代码实现IList具有相同的接口声明列表,这在代码申报实现所有的IlistICollectionIEnumerable类。

1

我不是很肯定ArrayList有接口的不同实现。考虑下面的代码:

public interface IBase 
{ 
    int SomeInt { get; set; } 
} 

public interface ISub : IBase 
{ 
    int SomeOther { get; set; } 
} 

public class MyClass : ISub 
{ 
    public int SomeOther { get; set; } 
    public int SomeInt { get; set; } 
} 

MyClass的类型直接实现仅ISub接口。但是,如果您编译代码到一个程序,然后添加组件,参考其他项目,打开对象浏览器并检查基本类型为MyClass,它的特色将是这样的:

Base Types 
|- ISub 
| |- IBase 
|- IBase 
|- Object 
相关问题