title: Cannot implement interface member because it does not have the matching return type of List<IInterface>
body: <p>I have interfaces <code>IChild</code> and <code>IParent</code>. <code>IParent</code> has a member that is a <code>List&lt;IChild&gt;</code>.</p>
  
  <p>I wish to have classes that implement <code>IParent</code> where each class has a member that implements <code>IChild</code>:</p>
  
  <pre><code>public interface IChild
  { 
  }  
  
  public interface IParent
  {  
      List&lt;IChild&gt; a { get; set; }
  } 
  
  public class ChildA : IChild
  { 
  } 
  
  public class ChildB : IChild
  { 
  } 
  
  public class ParentA : IParent
  { 
      public List&lt;ChildA&gt; a { get; set; }
  }
  
  public class ParentB : IParent
  { 
      public List&lt;ChildB&gt; a { get; set; }
  }
  </code></pre>
  
  <p>But, this code will not compile. The error is:</p>
  
  <pre class="lang-none prettyprint-override"><code>`MyApp.Data.ParentA` does not implement interface member `MyApp.Data.IParent.a`.
  `MyApp.Data.ParentA.a` cannot implement `MyApp.Data.IParent.a` because it does not have
  the matching return type of `System.Collections.Generic.List&lt;MyApp.Data.IChild&gt;`.
  </code></pre>