.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);
    }
}
 
 
 
 
 
答案在此(选中后可见,白色字体):
 
  
谢谢参与!

转载于:https://www.cnblogs.com/rock_chen/archive/2011/01/26/1945130.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值