したがって、子クラスを派生させる抽象基本クラスをセットアップしたいと考えています。すべての作業は子供たちで行われますが、子供たちがお互いを参照できるようにしたかったのです。
ここにいくつかの疑似コードがあります:
public abstract class BaseClass<T> : SomeOtherClass {
public List<BaseClass> listOfChildren;
protected T thisChild;
public void DoMoreStuff(){
Debug.Log("Doing more stuff");
}
protected virtual void DoSomething(int i){
listOfChildren[i].DoMoreStuff();
}
}
public class FirstChildClass : BaseClass<FirstChildClass> {
FirstChildClass<T>(){
thisChild = this;
}
public void FirstClassStuff(){
Debug.Log("first class stuff");
}
}
public class SecondChildClass : BaseClass<SecondChildClass> {
public void SecondClassStuff(){
Debug.Log("second class stuff");
}
}
子クラスを受け入れるジェネリック List を作成するにはどうすればよいですか?
DoMoreStuff() を使用するには、listOfChildren を T で型キャストする必要がありますか?
それ自体で、このセットアップに本質的に何か問題はありますか?