title: Convert List<DerivedClass> to List<BaseClass>
body: <p>While we can inherit from base class/interface, why can't we declare a <code>List&lt;&gt;</code>
  using same class/interface?   </p>
  
  <pre><code>interface A
  { }
  
  class B : A
  { }
  
  class C : B
  { }
  
  class Test
  {
      static void Main(string[] args)
      {
          A a = new C(); // OK
          List&lt;A&gt; listOfA = new List&lt;C&gt;(); // compiler Error
      }
  }
  </code></pre>
  
  <p>Is there a way around?</p>