質問

私は最近、ソフトウェアパターンのユニットを完了し、現在PureMVCのフレームワークを理解しようとしています。一つは、私は、しかし困惑ここ達人に簡単な何かを持ってます。

私はシングルトンファサードクラスのインスタンスを作成しようとしています。コンストラクタでは、コメントの状態:

  

このIFacadeの実装はシングルトンであるので、あなたが直接コンストラクタを呼び出すが、その代わりに、静的なシングルトンファクトリメソッドFacade.Instanceを呼び出してはいけません。

ファサードオブジェクトも作成されていないとき、

どのようにして、インスタンスメソッドを呼び出すことができますか?

Facade.Instance方法は次のようになります:

public static IFacade Instance
    {
        get
        {
            if (m_instance == null)
            {
                lock (m_staticSyncRoot)
                {
                    if (m_instance == null) m_instance = new Facade();
                }
            }

            return m_instance;
        }
    }
役に立ちましたか?

解決

あなたは、静的プロパティにアクセスしています。静的プロパティは、クラス定義の一部ではなく、クラスのインスタンスです。静的メンバ(プロパティ、フィールド、メソッド)にアクセスするには、単にクラス名ドットメンバーを使用します:

var myFacade = SomeClass.Instance;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top