我有一个班级:
public class A {
public int Id { set; get; }
public virtual ICollection<B> Bs { set; get; }
}
我想在类A
中添加一个构造函数,它实例化ICollection类型的属性。我可以使用哪种类型?
答案 0 :(得分:1)
实例化ICollection ......
public class A {
public A()
{
this.Bs = new Collection<B>();
}
public int Id { get; set; }
public virtual ICollection<B> Bs { get; set; }
}
以下是您可能会发现有用的界面的快速介绍......
ICollection
是Interface
,这意味着它是Contract
的{{1}}。
例如,如果我说Class
的{{1}}必须为Car
,我会创建一个名为Seats
的{{1}},并在其上创建一个名为{{}的属性1}}。
Interface
由于这只是ICar
我们无法直接实例化,我们需要Seats
来实现此合同。
public interface ICar {
int Seats { get; set; }
}
现在我们可以实例化Interface
,因为Class
实现了public class Car : ICar {
public int Seats {get; set; }
}
接口。这与内部使用ICar car = new Car();
类和Class Car
类的内容没有什么不同,它们都实现了ICollection。