Como abstrair uma aula de singleton?

É assim que escrevo minhas aulas singleton.

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() { .... }
}
Como criar um padrão singleton que é reutilizável?

Os padrões singleton apresentam os seguintes desafios.

O construtor éprivate ouprotected.Uma classe base não pode instanciar uma classe herdada. Então você pode reutilizar um resumo comumMyAbstractSingletonClass.Ele precisa ter uma propriedade somente leitura local para obter a instância.O problema

Estou usando esse padrão em várias classes e sempre tenho que escrever o mesmo código. Como posso escrever algo que é reutilizado sempre que preciso de um singleton?

questionAnswers(9)

yourAnswerToTheQuestion