カテゴリ/ファイルツリー構造があります。カテゴリとファイルの両方に親を含めることができるため、Parentプロパティを持つ共通の基本クラスからそれらを派生させました。すべての親は明らかに常にカテゴリになるため(ファイルを親にすることはできません)、ノードのParentプロパティをCategoryNodeタイプにするのは理にかなっているようです。
基本クラスが派生クラスを参照するのは悪い形式ですか?もしそうなら、なぜですか?もしそうなら、これを構造化するためのより良い方法は何ですか?
class Node {
public CategoryNode Parent {get; set;}
}
class File : Node {
...
}
class CategoryNode : Node {
...
}