使用Collection<>泛型类型

本文关键字:泛型类型 Collection 使用 | 更新日期: 2023-09-27 18:15:06

我在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; }
}

我得到了这个强制转换错误:

不能隐式转换类型"System.Collections.Generic"。列表"System.Collections.Generic.ICollection"。显式转换存在(您是否缺少cast?)

我怎么能做这样的事!

使用Collection<>泛型类型

不能隐式地将List转换为List。如果您想这样做,您需要决定集合应该包含A还是IA。下面是一个修复:

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