所以我希望设置一个抽象基类来派生子类。所有的工作都将在孩子们身上进行,但我希望孩子们能够相互参考。
这是一些伪代码:
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");
}
}
我将如何制作一个通用列表来接受任何子类?
我是否需要使用 T 对 listOfChildren 进行类型转换才能使用 DoMoreStuff()?
就其本身而言,此设置是否存在其他固有问题?