Я столкнулся с поведением С#, которое я хотел бы понять. Рассмотрим такой класс:
public class SomeSingleton
{
public static SomeSingleton Default = new SomeSingleton();
private static int field = 0;
private SomeSingleton()
{
field = 1;
}
public int GetField()
{
return field;
}
}
Теперь позвольте вызвать метод GetField():
var field = SomeSingleton.Default.GetField();
Я получаю 0
, как если бы конструктор экземпляра был пропущен. Почему?