Edited at

C# で シングルトンパターン

More than 1 year has passed since last update.


C# で シングルトンパターン

時々使うけど、すぐ忘れるのでメモ。

デザインパターンのうち、Singletonパターン(1つしかインスタンスを生成しない)

コンストラクタのスコープを private に変更し、

GetInstance()メソッドでインスタンスを取得するようにするのが肝です。


sample_singleton.cs

// Singletonパターン

public sealed class SingletonClass
{
private static SingletonClass _singleInstance = new SingletonClass();

public static SingletonClass GetInstance()
{
return _singleInstance;
}

private SingletonClass()
{
//TODO: initialization
}
}



参考


追記

SharpDevelopなら、新規作成→(中略)→シングルトンクラス を選択すると、

一瞬で以下のように生成してくれるじゃないですかーやだ恥ずかしー(赤面)


SamplaSingletonClass.cs

using System;

namespace SampleLog4Net
{
/// <summary>
/// Description of ClassNullLogger.
/// </summary>
public sealed class ClassNullLogger
{
private static ClassNullLogger instance = new ClassNullLogger();

public static ClassNullLogger Instance {
get {
return instance;
}
}

private ClassNullLogger()
{
}
}
}