我有一个类别/文件树结构。类别和文件都可以有父级,因此我从具有 Parent 属性的公共基类派生它们。由于所有父节点显然总是类别(文件不能是父节点),因此将节点的 Parent 属性设置为 CategoryNode 类型似乎是有意义的。
基类引用派生类是不好的形式吗?如果是这样,为什么?如果是这样,有什么更好的方法来构建这个?
class Node {
public CategoryNode Parent {get; set;}
}
class File : Node {
...
}
class CategoryNode : Node {
...
}