有如下结构:

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(i)
        {
        }

 

按如下初始化:

    public class MyClass
    {
        MyDerivedClass myObj = new MyDerivedClass(4, 8);
    }

则执行顺序为:

  • 执行System.Object.Object()构造函数
  • 执行MyBaseClass.MyBaseClass(int i)构造函数
  • 执行MyDerivedClass.MyDerivedClass(int i , int j)构造函数
  • 执行MyDerivedClass.MyDerivedClass()构造函数

相关文章: