读书人

关于构造函数的事件顺序,该怎么处理

发布时间: 2012-08-15 16:57:17 作者: rapoo

关于构造函数的事件顺序
各位大虾:小弟有有个疑问是关于构造函数的事件顺序:如下:

C# code
public class Employee{    public Employee()    {    }    public Employee(int i)    {     }}public class SalesEmployee : Employee{    public SalesEmployee()    { }    public SalesEmployee(int i)    {        int y = i;    }}


接着初始化一个对象:SalesEmployee myce1 = new SalesEmployee(5);
调试的时候问题就来了,我看书上是说事件的顺序是:
先执行Employee.Employee(int i)构造函数
接着再执行SalesEmployee.SalesEmployee(int i)构造函数。
可是我调试的时候并不是这样,是先执行Employee.Employee()构造函数(根本没有执行Employee.Employee(int i))
再执行SalesEmployee.SalesEmployee(int i)构造函数。

求解释。谢谢



[解决办法]
不用解释,书上说的是错的,从你给的代码来看
调用new SalesEmployee(5)的执行顺序就是
Employee()
SalesEmployee(int i)
简单解释就是,构造函数的执行顺序是 父->子,析构函数的执行顺序是 子->父
[解决办法]
相信你自己的调试
[解决办法]
C# code
  public class SalesEmployee : Employee    {        public SalesEmployee()        { }        public SalesEmployee(int i):base(i)        {            int y = i;        }    }
[解决办法]
探讨
C# code


public class SalesEmployee : Employee
{
public SalesEmployee()
{ }
public SalesEmployee(int i):base(i)
{
int y = i;
}
……

读书人网 >C#

热点推荐