Why it is not possible to use IList<T> in interface definition and List<T> in inplementation?
<p>Why it is not possible to use IList in interface definition and then implement this property using List? Am I missing something here or just C# compiler doesn't allow this?</p>

<pre><code>public interface ICategory
{
    IList&lt;Product&gt; Products { get; }
}

public class Category : ICategory
{
    public List&lt;Product&gt; Products { get { new List&lt;Product&gt;(); } }        
}
</code></pre>

<p>compiler says Error 82 'Category' does not implement interface member 'ICategory.Products'. 'Category.Products' cannot implement 'ICategory.Products' because it does not have the matching return type of 'System.Collections.Generic.IList'</p>
