我创建了一个基类("元素")和一个基类列表("元素")作为泛型类.通用列表类应该只能包含类,这些类是从"Element"派生的Type"Element"."Element"类应该拥有一个"ParentRoot"属性,该属性应该包含基类列表类("Elements")!
public class Element
{
public Elements<Element> ParentRoot { get; set; }
}
public class Elements<T> : List<T> where T : Element
{
}
Run Code Online (Sandbox Code Playgroud)
现在我创建两个类和两个列表类,它们是从上面的类派生的.但我没有设置"ParentRoot"属性:
public class Ceiling : Element
{
public Ceiling(Ceilings parent)
{
Parent = parent;
ParentRoot = parent;
}
public Ceilings Parent { get; set; }
}
public class Ceilings : Elements<Ceiling>
{
}
public class Wall : Element
{
public Wall(Walls parent)
{
Parent = parent;
ParentRoot = parent;
}
public Walls Parent { get; set; …Run Code Online (Sandbox Code Playgroud)