实现此目的的一种方法是进行两阶段构造和初始化。因此,您构造实例,然后调用初始化方法,该方法以适当的顺序调用基类初始化
class MyBase
{
// Only if need to do some core initialization
public MyBase()
{
}
public virtual Initialize()
{
// do some initialization stuff here
}
}
class MyDerived : MyBase
{
// Only if need to do some core initialization
public MyDerived()
{
}
public override Initialize()
{
// do some initialization stuff here
// Call the base class initialization function
base.Initialize();
}
}
Run Code Online (Sandbox Code Playgroud)