using System;
class SingletonPattern {
// Singleton Pattern Judith Bishop Nov 2007
// The public property protects the private constructor
public class Singleton {
// Private constructor
Singleton () { }
// Nested class for lazy instantiation
class SingletonCreator {
static SingletonCreator () {}
// Private object instantiated with private constructor
internal static readonly
Singleton uniqueInstance = new Singleton();
}
// Public static property to get the object
public static Singleton UniqueInstance {
get {return SingletonCreator.uniqueInstance;}
}
}
static void Main () {
Singleton s1 = Singleton.UniqueInstance;
Singleton s2 = Singleton.UniqueInstance;
if (s1 == s2) {
Console.WriteLine("Objects are the same instance");
}
}
}
class SingletonPattern {
// Singleton Pattern Judith Bishop Nov 2007
// The public property protects the private constructor
public class Singleton {
// Private constructor
Singleton () { }
// Nested class for lazy instantiation
class SingletonCreator {
static SingletonCreator () {}
// Private object instantiated with private constructor
internal static readonly
Singleton uniqueInstance = new Singleton();
}
// Public static property to get the object
public static Singleton UniqueInstance {
get {return SingletonCreator.uniqueInstance;}
}
}
static void Main () {
Singleton s1 = Singleton.UniqueInstance;
Singleton s2 = Singleton.UniqueInstance;
if (s1 == s2) {
Console.WriteLine("Objects are the same instance");
}
}
}