C#中的单身人士

时间:2011-02-18 11:56:05

标签: c# design-patterns singleton

我想为create singleton类收集更多变种。 你有没有可以根据你的意见向我提供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 个答案:

答案 0 :(得分:12)

我对此有一个entire article,您可能会发现它很有用。

哦,并且尽量避免使用单例模式,因为它的可测试性很难等。)

答案 1 :(得分:0)

看这里: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;
        }
    }
}