【发布时间】:2018-10-27 03:00:26
【问题描述】:
我想知道为什么我的静态构造函数输出default constructor Static Constructor,而不是相反的Static Constructor and Default constructor 或只是Default constructor。当我使用静态构造函数时,它应该首先执行静态构造函数。但是,从下面的代码中,
第一个问题:为什么在静态构造函数之前调用默认构造函数?
class Program
{
static void Main(string[] args)
{
var test = Single.S;
}
class Single{
static readonly Single s = new Single();
public static Single S{
get { return s; }
}
private Single(){
Console.WriteLine("Default");
}
static Single(){
Console.WriteLine("staic");
}
}
}
第二个问题:Static Single 构造函数怎么也被调用了?
【问题讨论】:
-
如果要初始化一个实例类,首先会初始化成员,然后运行构造函数。由于您添加了一个静态构造函数,我想同样的事情正在发生。我认为this 是一样的。
标签: c# singleton console-application static-constructor