zoukankan      html  css  js  c++  java
  • .NET 实例化顺序

    http://www.cnblogs.com/teamleader/archive/2011/01/25/1944810.html

    你可能不知道的对象实例化顺序

    猜猜下面这段代码的输入,我预计90%以上的人给不出正确的答案
     
    void Main()
    {
        InitSeqBase x = 
    new
     InitSeqChild();
    }


    public class
     InitSeqBase
    {
       
    public static Nothing _SField = new
     Nothing("base static field initializer");
       
    static InitSeqBase()
        {
            Console.WriteLine(
    "base static constructor"
    );
        }
       
       
    public Nothing InsField = new Nothing("base Instance field initializer");
       
       
    public InitSeqBase()
        {
            Console.WriteLine(
    "base Instance constructor"
    );
        }
    }


    public class InitSeqChild : InitSeqBase
    {
       
    public static Nothing _SField = new
     Nothing("child static field initializer");
       
    static InitSeqChild()
        {
            Console.WriteLine(
    "child static constructor"
    );
        }
       
       
    public Nothing InsField = new Nothing("child Instance field initializer");
       
       
    public InitSeqChild()
        {
            Console.WriteLine(
    "child Instance constructor"
    );
        }
    }


    public class Nothing
    {
       
    public Nothing(string
     s)
        {
            Console.WriteLine(s);
        }
    }
     
     
     
     
     
    答案在此(选中后可见,白色字体):
    child static field initializer
    child static constructor
    child Instance field initializer
    base static field initializer
    base static constructor
    base Instance field initializer
    base Instance constructor
    child Instance constructor
    谢谢参与!

  • 相关阅读:
    pygame各个模块概述
    安装pygame
    pygame系列
    把字符串转换成整数
    不用加减乘除做加法
    求1+2+3+...+n
    孩子们的游戏(圆圈中最后剩下的数)
    翻转单词顺序列
    左旋转字符串
    和为s的两个数字
  • 原文地址:https://www.cnblogs.com/rock_chen/p/1945130.html
Copyright © 2011-2022 走看看