Singleton Pattern Demo
using System;
sealed class MyClass {
private static bool instanceFlag = false;
public static MyClass GetMyClass() {
if (!instanceFlag) {
instanceFlag = true;
return new MyClass();
} else {
throw new Exception("An engine has already been created!");
}
}
private MyClass() {
Console.WriteLine("An MyClass");
}
}
class Client {
static void Main(string[] args) {
Console.WriteLine("Attempting to get first engine");
try {
MyClass eng = MyClass.GetMyClass();
} catch (Exception e) {
Console.WriteLine(e.Message);
}
Console.WriteLine("Attempting to get second engine");
try {
MyClass eng = MyClass.GetMyClass();
} catch (Exception e) {
Console.WriteLine(e.Message);
}
}
}
|
HTML code for linking to this page:
|