C#環境でのシングルトンパターンの実装方法メモ。
だいぶあっさりとした感じでかけますね。
実装例
2017/05/19: コメントいただいた内容と、マルチスレッドでの使用等を考慮したものに修正
public sealed class SingletonClass
{
public static SingletonClass Instance { get; } = new SingletonClass();
static SingletonClass() {} // suppress beforefieldinit
private SingletonClass() {}
}
- マルチスレッドでインスタンスが複数作成されないように、beforefieldinit属性の付与を抑制する
関連
参考
C# 6 の新機能 - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
[C#] 遅延初期化を実現する3つのパターンと2つのクラス、Singletonパターンに特化した2つの方法 - Qiita
C# での Singleton についてまとめ - やこ~ん SuperNova2