title: Order readonly List
body: <p>I have a readonly List so I can hide the Add method from other classes, like this:</p>
  
  <pre><code>class Foo
  {
      private readonly List&lt;Bar&gt; _Bars = new List&lt;Bar&gt;;
      public()
      {
          this.Bars = _Bars.AsReadOnly();
      }
      public ReadOnlyCollection&lt;Bar&gt; Bars
      {
          get;
          private set;
      }
      public void AddBar(Vector Dimensions)
      {
          _Bars.Add(new Bar(Dimensions));
      }
  }
  </code></pre>
  
  <p>The thing is, now I want to order the _Bars field of an instance of Foo, like such:</p>
  
  <pre><code>public void OrderBarsByVolume()
  {
      _Bars.OrderByDescending(o =&gt; o.Volume); //Doesn't do anything
      _Bars = _Bars.OrderByDescending(o =&gt; o.Volume).ToList();  //Error: A readonly field cannot be assigned to
  }
  </code></pre>
  
  <p>Is it possible to use orderby and keep the add feature of the List hidden from other classes?</p>