これが私のシングルトンクラスの書き方です。
public class MyClass
{
/// <summary>
/// Singleton
/// </summary>
private static MyClass instance;
/// <summary>
/// Singleton access.
/// </summary>
public static MyClass Instance
{
get
{
if (_instance == null)
{
_instance = new MyClass();
}
return _instance;
}
}
private MyClass() { .... }
}
再利用可能なシングルトン パターンを作成するには?
シングルトン パターンには、次の課題があります。
- コンストラクタは
private
orprotected
です。 - 基本クラスは、継承されたクラスをインスタンス化できません。したがって、共通の要約を再利用できます
MyAbstractSingletonClass
。 - インスタンスを取得するには、ローカルの読み取り専用プロパティが必要です。
問題
私は多くのクラスでこのパターンを使用しており、常に同じコードを書かなければなりません。シングルトンが必要なときに再利用されるものを作成するにはどうすればよいですか?