Я заметил, что нестатический класс может иметь статический конструктор:
public class Thing
{
public Thing()
{
Console.WriteLine("non-static");
}
static Thing()
{
Console.WriteLine("static");
}
}
И когда вы инициализируете экземпляр Thing
, сначала ставится конструктор static.
Вывод:
статическая
нестатический
Для чего это понадобится? Используете ли вы его для инициализации статических полей в экземпляре нестатического типа?
Есть ли какие-либо вещи, которые нужно учитывать при использовании статического конструктора?