Вопрос по реализации паттерна Singleton.
Почему он работает?
Код:
public class Singleton
{
/// Защищенный конструктор нужен, чтобы предотвратить создание экземпляра класса Singleton
protected Singleton() { }
private sealed class SingletonCreator
{
private static readonly Singleton instance = new Singleton();
public static Singleton Instance
{
get
{
return instance;
}
}
}
public static Singleton Instance
{
get { return SingletonCreator.Instance; }
}
public int PropertyForTests { get; set; }
}
Почему он работает?
Код:
public class Singleton
{
/// Защищенный конструктор нужен, чтобы предотвратить создание экземпляра класса Singleton
protected Singleton() { }
private sealed class SingletonCreator
{
private static readonly Singleton instance = new Singleton();
public static Singleton Instance
{
get
{
return instance;
}
}
}
public static Singleton Instance
{
get { return SingletonCreator.Instance; }
}
public int PropertyForTests { get; set; }
}