C#初始化顺序

来源:互联网 发布:coser 知乎 编辑:程序博客网 时间:2024/06/05 11:52

1   调用子类实例方法执行顺序

    子类静态成员(只初始化一次)
    子类静态构造函数(只执行一次)
    子类静态方法(没有使用时不调用)
    子类实例成员

    父类静态成员(只初始化一次)
    父类静态构造函数(只执行一次)
  父类静态方法(没有使用时不调用)
   父类实例成员
   父类实例构造函数
   父类实例方法(没有使用时不调用,包括实例属性)

   子类实例构造函数
   子类实例成员实例方法


2 调用一个类的静态方法执行顺序(如果没有调用父类的任何方法成员,则不调用父类)
静态成员
静态构造函数
静态方法


3 调用一个类的实例方法执行顺序
静态成员
静态构造函数
静态方法(没有使用时不调用)
实例成员
实例构造函数
实例方法(包括实例属性)

  最户 所有静态字段,静态构造函数始终只执行一次,就是在第一次直接或者间接使用到时,才调用。调用子类的静态方法并不一定调用父类的静态方法。