title: C#'s equivalent of Java's <? extends Base> in generics
body: <p>In Java, I can do the following: (assume <code>Subclass</code> extends <code>Base</code>):</p>
  
  <pre><code>ArrayList&lt;? extends Base&gt; aList = new ArrayList&lt;Subclass&gt;();
  </code></pre>
  
  <p>What is the equivalent in C# .NET? There is no <code>? extends</code> keyword apparently and this does not work:</p>
  
  <pre><code>List&lt;Base&gt; aList = new List&lt;Subclass&gt;();
  </code></pre>