可能重複:
How does List<T> make IsReadOnly private when IsReadOnly is an interface member?C#列表<T>隱藏屬性?
好了,這是推動我堅果。 List<T>
執行IList<T>
。然而,
IList<int> list = new List<int>();
bool b = list.IsReadOnly;
bool c = ((List<int>)list).IsReadOnly; // Error
錯誤是:
「System.Collections.Generic.List」不包含關於「IsReadOnly」和沒有擴展方法的定義「IsReadOnly」接受類型的第一個參數'System.Collections.Generic.List'可以找到(你是否缺少使用指令或程序集引用?)
這怎麼可能?這是否違反了我們告訴大家的關於不隱藏成員的規則?這裏的實現細節是什麼?
要進入細節它能夠更好地利用反射的 –