title: Could not create an instance of type . Type is an interface or abstract class and cannot be instantiated
body: <p>I understand the below solution works fine, however it doesnt seems to be working for collection. Getting "Cannot implicitly convert type <code>System.Collections.Generic.IList&lt;Something&gt;</code> to <code>System.Collections.Generic.IList&lt;ISomething&gt;</code>. An explicit conversion exists (are you missing a cast?)" if I tried to assign <code>IList&lt;Something&gt;</code> to <code>IList&lt;ISomething&gt;</code> in the constructor. Any suggestions?</p>
  
  <p>Working code:</p>
  
  <pre class="lang-html prettyprint-override"><code>public class Foo
  { 
      public int Number { get; private set; }
  
      public ISomething IsSomething { get; private set; }
  
      public Foo(int number, Something concreteType)
      {
          Number = number;
          IsSomething = concreteType;
      }
  }
  </code></pre>
  
  
  
  <p>Not works:</p>
  
  <pre class="lang-html prettyprint-override"><code>public class Foo
  { 
      public int Number { get; private set; }
  
      public IList&lt;ISomething&gt; IsSomething { get; private set; }
  
      public Foo(int number, IList&lt;Something&gt; concreteType)
      {
          Number = number;
          IsSomething = concreteType; //getting error
      }
  }
  </code></pre>
  
  
  
  <p>ConvertAll seems to be fixed the issue.</p>