title: "Read only" Property Accessor in C#
body: <p>I have the following class:</p>
  
  <pre><code>class SampleClass
  {
     private ArrayList mMyList;
  
     SampleClass()
     {
         // Initialize mMyList
     }
  
     public ArrayList MyList
     {
         get { return mMyList;}
     }
  }
  </code></pre>
  
  <p>I want users to be able to get mMyList which is why i exposed the "get" via a property however i don't want changes they make to the object (ie. MyList.Add(new Class());) to make its way back into my class.</p>
  
  <p>I guess i can return a copy of the object but that may be slow and i'm looking for a way that will provide a compile-time error informing the user that they shouldn't expect to be able to modify the returned value from the Property.</p>
  
  <p>Is this possible?</p>