title: C# - Why can I not cast a List<MyObject> to a class that inherits from List<MyObject>?
body: <p>I've got an object, which I'll call MyObject. It's a class that controls a particular data row.</p>
  
  <p>I've then got a collection class, called MyObjectCollection:</p>
  
  <pre><code>public class MyObjectCollection : List&lt;MyObject&gt; {}
  </code></pre>
  
  <p>Why can I not do the following:</p>
  
  <pre><code>List&lt;MyObject&gt; list = this.DoSomethingHere();
  MyObjectCollection collection = (MyObjectCollection)list;
  </code></pre>
  
  <p>Thanks in advance.</p>
  
  <p><strong>Edit: The error is InvalidCastException</strong></p>