Рассмотрим следующий код
public sealed class Singleton
{
private static readonly Singleton instance = new Singleton();
public static Singleton Instance { get { return instance; } }
static Singleton() {}
private Singleton() {}
}
Вопрос
1) Вот для чего предназначен статический конструктор? (Я знаю, что статический конструктор будет вызываться до того, как будет создан первый экземпляр класса). Но в контексте приведенного выше кода
я не могу использовать его без статического конструктора?
2) Я слышал, что одним из преимуществ синглтона является то, что он может быть распространен на завод.
Поскольку это закрытый класс, как вы расширите его до фабрики? Можете привести пример?