Синглтон в C # - PullRequest
       10

Синглтон в C #

1 голос
/ 18 февраля 2011

Я хотел бы собрать больше вариантов для создания синглтон-класса. Не могли бы вы предоставить мне лучший способ создания в C # по вашему мнению.

Спасибо.

public sealed class Singleton
{
    Singleton _instance = null;

    public Singleton Instance
    {
        get
        {
            if(_instance == null)
                _instance = new Singleton();

            return _instance;
        }
    }

    // Default private constructor so only we can instanctiate
    private Singleton() { }

    // Default private static constructor
    private static Singleton() { }
}

Ответы [ 2 ]

12 голосов
/ 18 февраля 2011

У меня есть вся статья на эту тему, которая может оказаться вам полезной.

О, и я стараюсь избегать использования шаблона синглтона в целом, из-за его проблем с тестируемостью и т. Д. :)

0 голосов
/ 18 февраля 2011

смотрите здесь: http://www.yoda.arachsys.com/csharp/singleton.html

public sealed class Singleton
{
    static readonly Singleton instance=new Singleton();

    // Explicit static constructor to tell C# compiler
    // not to mark type as beforefieldinit
    static Singleton()
    {
    }

    Singleton()
    {
    }

    public static Singleton Instance
    {
        get
        {
            return instance;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...