2009-07-22 69 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 
相關問題