找到这个问题的正确单词我遇到了麻烦,所以我会尝试用一些代码告诉你我的问题是什么.
我有一个父类,看起来像这样:
public class ParentClass { public Guid ParentId { get; } public int ParentProperty { get; set; } public ListParentList { get; set; } public ParentClass() { this.ParentId = Guid.NewGuid(); } }
它很简单:它有一个ID,一些属性和一个包含自身元素的List.
现在我正在创建一个子类,如下所示:
public class ChildClass : ParentClass { public string ChildProperty { get; set; } public ChildClass() : base() { this.ParentList = new List(); } }
这个有一个额外的属性和一个构造函数,其中包含问题.我无法在List的声明中发起List.我不能只在子类中声明列表,因为我在使用它时需要它在父类中.
解决这个问题的最佳方法是什么?
您应该使用指向两个类(ParentClass
以及ChildClass
)的接口.
具有特定类型参数的泛型类型是"新"类型:因此List
并且List
是不同类型.