zoukankan      html  css  js  c++  java
  • C# 类初始化顺序

    转自:http://www.cnblogs.com/jackhuclan/archive/2008/01/10/1033042.html

    代码
        class Program
        {
            
    static void Main(string[] args)
            {
                DriveB d 
    = new DriveB();
                Console.Read();
            }
        }

        
    class BaseA
        {
            
    static DisplayClass a = new DisplayClass("基类静态成员初始化");

            DisplayClass BaseA_c 
    = new DisplayClass("基类实例成员初始化");

            
    static BaseA()
            {
                
    new DisplayClass("基类静态构造方法被调用");
            }

            
    public BaseA()
            {
                
    new DisplayClass("基类构造方法被调用");
            }
        }

        
    class DriveB : BaseA
        {

            
    static DisplayClass DriveB_b = new DisplayClass("继承类静态成员初始化");


            DisplayClass DriveB_c 
    = new DisplayClass("继承类实例成员初始化");

            
    static DriveB()
            {
                
    new DisplayClass("继承类静态构造方法被调用");
            }

            
    public DriveB()
            {
                
    new DisplayClass("继承类构造方法被调用");
            }
        }
        
    class DisplayClass
        {
            
    public DisplayClass(string diplayString)
            {
                Console.WriteLine(diplayString);
                Console.WriteLine();
            }
        }

    调用顺序:

    1.继承类静态成员初始化

    2.继承类静态构造方法被调用

    3.继承类实例成员初始化

    4.基类静态成员初始化

    5.基类静态构造方法被调用

    6.基类实例成员初始化

    7.基类构造方法被调用

    8.继承类构造方法被调用

  • 相关阅读:
    group by;having;order by
    oracle官方文档
    oracle正则表达式函数和正则表达式简介
    oracle系统函数
    oracle系统表
    windows搭建ftp服务器
    开机自动挂载
    linux修改设置ip地址
    My First Web Server
    为什么要写博客?
  • 原文地址:https://www.cnblogs.com/xgw2004058/p/1757245.html
Copyright © 2011-2022 走看看