0

MSDN を読んでいると、Math クラスのように、クラスに静的メンバーしかない場合などにプライベート コンストラクターが必要になる可能性があることが言及されています。しかし、Math クラスは実際には静的クラスです。また、「またはメソッドを使用してクラスのインスタンスを取得する場合」についても言及しています-どのように機能するか想像できますが、例を挙げていただけますか?

4

3 に答える 3

1

2 番目のポイントは、Singleton パターンが依存するものです。基本的に、クラスはコンストラクターを非公開にすることでインスタンス化の方法を管理できます。その場合、消費者はこれを行うことができません:

var obj = new MyClass();

...コンストラクターがプライベートであるため。つまり、消費者がこのクラスのインスタンスを取得できる唯一の方法は、メソッドまたはプロパティを使用することです。そのような:

public MyClass GetInstance() {
    return new MyClass();
}

(注: シングルトンではなく、メソッドの例です)

于 2013-08-13T13:10:30.637 に答える