构造函数初始化器

有如下结构:

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()构造函数
posted @ 2012-07-24 13:41  David Huang  阅读(369)  评论(0编辑  收藏  举报