只需要处理int j(假设int i参数在MyBaseClass和 MyDerivedClass里含义是一样的)
为此,只需要使用构造函数初始化器,把代码放到方法定义的冒号后面,如在派生类的构造函数中指定所使用的基类的构造函数,如下所示:
public MyDerivedClass(int i,int j) : base(i)
{
Console.WriteLine("I am MyDerivedClass(int i,int j)");
}
其中,base关键字指定在实例化过程中使用具有指定参数的构造函数。这里使用了int参数,其值通过i传递给MyDerivedClass构造函数,所以将使用MyBaseClass(int i) ,这样就不会调用MyBaseClass()了,我们重新执行下前面两个参数的实例化代码,就可以看出执行结果确实如此:
除了base关键字,还可以使用this关键字用作构造函数初始化器,这个关键字指定在调用指定的构造函数前,实例化过程对当前类使用非默认的构造函数。例如:
public MyDerivedClass():this(5,6)
{
Console.WriteLine("I am MyDerivedCalss()");
}
使用MyDerivedCalss()











