静态构造函数趣谈!

  类的静态构造函数也叫类型构造器,静态构造器,他调用的时刻由CLR来控制:

  CLR会选择如下时间之一来调用静态构造函数:
     1,在类型的第一个实例创建之前,或类型的非继承字段或成员第一次访问之前。这里的“之前”,代表前后衔接的意思。这里的时刻是精确的!
     2,在非继承的静态字段或成员第一次访问之前的某个时刻,具体时刻不定!

  由于调用的时刻不确定,所以我们最好不要编写依赖于特定的静态构造函数的执行顺序的代码,这样很容易产生不可预料的后果!

  下面大家看三个Demo,我们来更加深入的看看静态构造函数的一些有趣的行为:

  Demo1:

       static void Main(string[] args)
{
Console.WriteLine(B.strText);
}
public class A
{
public static string strText;
static A()
{
strText
= "aaaa";
}
}
public class B : A
{
static B()
{
strText
= "bbbb";
}
}

NET技术静态构造函数趣谈!,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。