Мне интересно, почему мой статический конструктор выводит 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?