가능한 중복 :
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'를 찾을 수 있습니다 (사용 지시문이나 어셈블리 참조가 누락 되었습니까?)
어떻게 될 수 있습니까? 이것은 우리가 모든 사람들에게 숨기지 않는 것에 관한 바로 그 원칙을 위반하지 않습니까? 구현 세부 사항은 무엇입니까?
이 더 나은 것은 반사판을 사용하도록 세부 사항으로 얻을 수있는 클래스 인스턴스를 통해 액세스,하지만 인터페이스의 인스턴스를 통해 할 수 없습니다 수 –