Prevent other classes from altering a list in a class
<p>If I have a class that contains, for example, a List&lt;string&gt; and I want other classes to be able to see the list but not <em>set</em> it, I can declare</p>

<pre><code>public class SomeClass()
{
    public List&lt;string&gt; SomeList { get; }
}
</code></pre>

<p>This will allow another class to access SomeList and not set it.</p>

<p>However, although the calling class can't <em>set</em> the list, it can add or remove elements. How do I prevent that? I guess I could use a field and return a copy of the List instead of using a property, but that just doesn't feel right.</p>

<p>(This should be very simple but I must be missing something....)</p>
