ソースコード
Program.cs
using System; namespace SingletonSample { class Program { static void Main(string[] args) { Singleton sgl1 = Singleton.GetInstance(); // のび太 Console.WriteLine(sgl1.GetData()); Singleton sgl2 = Singleton.GetInstance(); // のび太 Console.WriteLine(sgl2.GetData()); sgl1.SetData("スネ夫"); // スネ夫 Console.WriteLine(sgl1.GetData()); // スネ夫 Console.WriteLine(sgl2.GetData()); sgl2.SetData("ジャイ子"); // ジャイ子 Console.WriteLine(sgl1.GetData()); // ジャイ子 Console.WriteLine(sgl2.GetData()); Singleton sgl3 = Singleton.GetInstance(); // ジャイ子 Console.WriteLine(sgl3.GetData()); Console.ReadLine(); } } }
Singleton.cs
using System; namespace SingletonSample { internal class Singleton { private static Singleton singleton = new Singleton(); private string data; private Singleton() { Console.WriteLine("インスタンスを生成しました"); data = "のび太"; } internal static Singleton GetInstance() { return singleton; } internal void SetData(string v) { data = v; } internal string GetData() { return data; } } }