using System; public class MySingletonedObject { private static object me = new object(); private int customData; private static MySingletonedObject sinobj; public static MySingletonedObject GetSingleton(int data) { lock (me) { if (sinobj == null) { sinobj = new MySingletonedObject(data); } } return sinobj; } public MySingletonedObject(int newData) { customData = newData; } public void Print() { Console.WriteLine(customData.ToString()); } } public class Test { public static void Main() { MySingletonedObject.GetSingleton(1).Print(); MySingletonedObject.GetSingleton(6).Print(); } }