关于构造函数的this和base
下面这段代码的构造函数执行顺序为什么是这样的?前面三步我可以理解,为什么会执行第4步?
1.执行System.Object.Object构造函数。
2.执行MyBaseClass.MyBaseClass(int i)构造函数。
? 3.执行MyDerivedClass.MyDerivedClass(int i, int j)构造函数。
? 4.执行MyDerivedClass.MyDerivedClass()构造函数
基类
public class MyBaseClass
{
public MyBaseClass()
{
// ...
}
public MyBaseClass(int i)
{
// ...
}
}
继承类
public class MyDerivedClass : MyBaseClass
{
public MyDerivedClass() : this(5, 6)
{
// ...
}
public MyDerivedClass(int i)
{
// ...
}
public MyDerivedClass(int i, int j) : base(5)
{
// ...
}
}
用下面方法实例化
MyDerivedClass myObj = new MyDerived(2, 4);
[解决办法]
你直接断点调试看看有没有进入到 MyDerivedClass()这个方法就知了呀。我想肯定是不会进去的。书上写错了吧
[解决办法]
楼主买到盗版印刷的书了吧