静态构造函数是C#的一个新的特性。这里的"新"有别于C++。这是一个特殊的构造函数,它在创建类的第一个对象(实例)之前被调用。执行时间不能确定,但它肯定是创建实例之前。可能当时加载程序集。
下面看一下静态构造函数的代码语法:
public class myClass
{
static myClass()
{
}
}
构造函数的一些提示:
1)在一个类里面只有唯一的一个静态构造函数,即静态构造函数不能重载。
代码如下:
//这是允许的 ,因为它们在执行时间上面是完全不同的。
public class myClass
{
static myClass()
{
}
public myClass()
{
}
}
2)静态构造函数应该没有参数。这是因为静态构造函数由CLR来调用的,没有用户可以传递参数给它。
3)静态构造函数只可以存取类的静态成员。这是因为在类的实例成员具体到对象实例,因此静态函数如果允许运行实例成员,将会反应到所有对象实例的变化,这是不切实际的。
4)在静态函数的定义中不应该获得修改。这是因为静态函数的调用是由CLR来控制的,而不是对象。因此你不需要也无必要去修改。
评论