使用接口收集<>通用类型

时间:2014-07-28 07:28:27

标签: c# generics collections interface casting

我在c#

中有这些类型
public class A : IA
{

}

public interface IA
{

}

public class B
{
    public B()
    {
        A = new List<A>(); //Where I have problem
    }

    public ICollection<IA> A { get; set; }
}

我有这个演员错误:

  

无法隐式转换类型&#39; System.Collections.Generic.List&#39;至   &#39;了System.Collections.Generic.ICollection&#39 ;.显式转换   存在(你是否错过演员表?)

我该怎么做呢!

1 个答案:

答案 0 :(得分:1)

您无法将List隐式转换为List。如果要这样做,则需要确定集合是否应包含A或IA。 这是一个修复:

public class B
{
    public B()
    {
        A = new List<IA>();
    }

    public ICollection<IA> A { get; set; }
}