title: How does List<T> make IsReadOnly private when IsReadOnly is an interface member?
body: <p>I'm creating a specialised proxy class that implements <code>IList&lt;T&gt;</code> and wraps an internal <code>List&lt;T&gt;</code> instance.</p>
  
  <p><code>List&lt;T&gt;</code> itself implements <code>IList&lt;T&gt;</code>, which declares a member <strong>bool IsReadOnly</strong>, but when I try to access that member from my own class, I can't because in <code>List&lt;T&gt;</code>, IsReadOnly is private.</p>
  
  <p>So my question is; if an implementation of an interface requires all implemented members to be public, why does <code>List&lt;T&gt;</code> get to implement IsReadOnly as private and thus deny me access to it?</p>