C#问题: 构造函数与静态构造函数之间的区别

详细点....

静态构造函数

区别:
http://hi.baidu.com/jonnysuen/blog/item/e4165d58181b7a232834f019.html

静态构造函数用于初始化任何 静态数据,或用于执行仅需执行一次的特定操作。在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数。

静态构造函数具有以下特点:

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

在创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化 类。

无法直接调用静态构造函数。

在程序中,用户无法控制何时执行静态构造函数。

静态构造函数的典型用途是:当类使用日志文件时,将使用这种构造函数向日志文件中写入项。

静态构造函数在为非托管代码创建包装类时也很有用,此时该构造函数可以调用 LoadLibrary 方法。

public class Bus
{
// Static constructor:
static Bus()
{
System.Console.WriteLine("The static constructor invoked.");
}

public static void Drive()
{
System.Console.WriteLine("The Drive method invoked.");
}
}

class TestBus
{
static void Main()
{
Bus.Drive();
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-12
静态的是属于类本身的
非静态是属于类的实例的
看一下static关键字
第2个回答  2019-11-15
静态构造函数是c#的一个新特性,wrox.procsharp.staticconstructorsample{}是你创建的命名空间的名字,public
static
readonly
color
backcolor;定义的是一个颜色的对象,readonly是表示该属性为只读,且赋值后不能二次更改,根据你上面代码它的值已经在静态的构造函数里定义了,而静态的构造函数会在程序一开始运行时执行,并且只会执行一次,至于你说你创建不了,可能是你不了解他们所表达的意思,还有namedpace写错了,应该是namespace
第3个回答  2019-10-21
如果在一个
基类
中它的继承类有一个静态的
构造函数
;在实例化继承类的时候,会首先调用继承类的构造函数,然后调用基类的.如果是构造函数,首先调用基类的构造函数,然后再调用继承类的构造函数.
如果你要在继承类的静态构造函数中首先调用基类的,可以用一个base关键字来调用.
相似回答