调用自己的构造函数后如何调用基类的构造函数?
问题是,基类的构造函数调用了一个抽象方法(在子类中重写),它需要访问变量x
,在子类的构造函数中初始化?
简短的示例代码:
abstract class BaseClass
{
protected string my_string;
protected abstract void DoStuff();
public BaseClass()
{
this.DoStuff();
}
}
class SubClass : BaseClass
{
private TextBox tb;
public SubClass()
: base()
{
this.my_string = "Short sentence.";
}
protected override void DoStuff()
{
// This gets called from base class' constructor
// before sub class' constructor inits my_string
tb.Text = this.my_string;
}
}
编辑:根据答案,这显然是不可能的。是否有一种自动化的方式来调用创建this.DoStuff();
后的每个对象SubClass
?当然,我可以this.DoStuff();
在子类的构造函数中添加所有其他行,但是拥有大约 100 个这样的类,感觉很愚蠢。还有其他解决方案,还是我应该使用手动解决方案?