关于静态构造函数的一个小例子

挺有意思的小例子,代码如下。

View Code
class A
    {
        public static int X;
        static A()             //④   执行完后返回到③  
        {
            X = B.Y + 1;
            Console.WriteLine("static   A()");
        }
    }

    class B
    {
        public static int Y = A.X + 1;       //③   调用了A的静态成员,  
        //     转到A的静态构造函数---->  
        static B()             //②   如果带有初始值设定项的静态字段,  
        //     执行该类的静态构造函数时,  
        //     先要按照文本顺序执行那些初始值设定项。  
        //     转到初始值设定项---->  
        {
            Console.WriteLine("static   B()");
        }
        static void Main()           //①   程序入口,  
        //     如果类中包含用来开始执行的   Main   方法,  
        //     该类的静态构造函数将在调用   Main   方法之前执行。  
        //     转到B的静态构造函数---->  
        {
            Console.WriteLine("X   =   {0},   Y   =   {1}", A.X, B.Y);//⑤   输出结果  
            Console.ReadLine();
        }
    }

 

转载于:https://www.cnblogs.com/DexterDi/archive/2013/01/22/2871057.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值