C# interface implementation and generic collections question
<p>Suppose I have following code:</p>

<pre><code>public class CBase: AbstractC,IRenderable
{
 //code here
}

public class CBaseGroup
{
 private List&lt;IRenderable&gt; CCollection;

 public CBaseGroup(List&lt;IRenderable&gt; c)
 {
   CCollection=c;
 }
}

public class CGroup:CBaseGroup
{
 public CGroup(List&lt;CBase&gt; c):base(c) 
 //here fails because cannot convert List&lt;CBase&gt; to List&lt;IRenderable&gt;
 {
 }

}
</code></pre>

<p>Why it does not compile?</p>

<p>Please feel free to suggest a nappropriate title.</p>

<p>From Matthew Scharley answer I found that the code should look like:</p>

<pre><code>  public class CGroup:CBaseGroup
    {
     public CGroup(List&lt;CBase&gt; c):base(c.Cast&lt;IRenderable&gt;().ToList()) 
      // cast to list since I'm not using IEnumerable
     {
     }

    }
</code></pre>

<p>This at least satisfies compiler.</p>
