3

型の初期化を伴うシングルトン パターンの「標準」C# 実装を考えると、次のようになります。

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

    public static Singleton Instance
    {
        get
        {
            return instance;
        }
    }

    private Singleton() { }
}

静的プロパティにポイントはありますか? 静的フィールドが読み取り専用としてマークされている場合、クラスの外部を含め、どこからでも書き込むことはできません。より簡潔な実装の場合、これは機能しますか?:

public sealed class Singleton
{
    public static readonly Singleton Instance = new Singleton();
    private Singleton() { }
}

私には問題ないように思えますが、使用されているトップのものしか見たことがないので、見落としている何か問題があるのではないかと思います.

4

3 に答える 3