title: How to make List's Add method protected, while exposing List with get property?
body: <p>I have a class named WhatClass that has List field in it. I need to be able to read-only this field, so I used a get property to expose it to other objects.</p>
  
  <pre><code>public class WhatClass
  {
      List&lt;SomeOtherClass&gt; _SomeOtherClassItems;
  
      public List&lt;SomeOtherClass&gt; SomeOtherClassItems { get { return _SomeOtherClassItems; } }
  }
  </code></pre>
  
  <p>However it turns out that any object can call</p>
  
  <pre><code>WhatClass.SomeOtherClassItems.Add(item);
  </code></pre>
  
  <p>How can I prevent this?</p>