静态构造函数

特性:

1.静态构造函数没有参数也没有访问修饰符。

2.没有编写静态构造函数,如果这个类中有静态字段,那么会生成默认的构造函数。

3.调用任何静态成员之前,程序将自动调用静态构造函数初始化类(我们无法控直接调用静态构造函数,也无法控制静态构造函数什么时候被执行)。

4.如果类中有静态的Main方法,那么此时访问该类时Debug顺序为:静态字段-->静态构造函数-->静态方法。

5.如果访问一个类的静态字段,那么返回该静态的字段的时间为走完静态构造函数之后。

6.如果直接访问一个静态方法或者属性等,那么此时的Debug顺序为:静态构造函数-->静态方法。

7.一个类中常规的构造函数可以和静态的构造函数共存。

8.一个类中,最多只能有一个静态构造函数而常规的构造函数可以有多个。

9.静态构造函数只能被调用一次。

10.静态构造函数不可以被继承。

示例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Test
{
   public  class TestA
    {
       public static int a;

       static TestA()
       {
           a = TestB.b + 3;
       }
    }

   public class TestB
   {
       public static int b=TestA.a+3;

       static void Main()
       {
           Console.WriteLine("a={0},b={1}",TestA.a,TestB.b);
           Console.ReadLine();
       }
   }
}

结果:

a=3,b=6

posted @ 2014-03-04 13:14  fang_beny  阅读(188)  评论(0编辑  收藏  举报