title: IList<Type> to IList<BaseType>
body: <p>I have a few classes:</p>
  
  <pre><code>class Vehicle
  {
  }
  
  class Car : Vehicle
  {
  }
  </code></pre>
  
  <p>I have a list of the derived class:
      <code>IList&lt;Car&gt; cars;</code></p>
  
  <p>I would like to convert the list to its base class, and have tried:
      <code>IList&lt;Vehicle&gt; baseList = cars as IList&lt;Vehicle&gt;;</code></p>
  
  <p>But I always get <code>null</code>. Also</p>
  
  <pre><code>cars is IList&lt;Vehicle&gt; evaluates to be false.
  </code></pre>
  
  <p>Granted, I can add the items to a list if I do the following:</p>
  
  <pre><code>List&lt;Vehicle&gt; test = new List&lt;Vehicle&gt; ();
  
  foreach ( Car car in cars )
  {
     test.Add(car);
  }
  </code></pre>
  
  <p>And I get my list, but I know there has to be a better way.
  Any thoughts?</p>