日期:2014-05-17  浏览次数:20992 次

关于基类里包含子类的问题,这样写好不好
有一个基类Base,子类Child1、Child2、Child3......

现在是基类的方法func1里用到子类Child1的对象


public Class Base
{
private Child1 objChild
{
get
{
return Tool.GetChild1Instance();//Tool是一个静态类
}
}

protected void func1()
{
Child1 obj = objChild;
//.........
}
}
C# 继承

------解决方案--------------------


基内就有个基内的样子,基类有出现子类成何体统。
你的Tool静态了,还跑基类做啥。还不如再写个 静态类去实现你要的


------解决方案--------------------
目测,你的问题只需要将Tool.GetInstance<T>();改成泛型方法就行

或者让他们实现接口
public abstract IXXX GetInstance { get;}