Как использовать метод Facade.Instance без построения объекта? - PullRequest
0 голосов
/ 06 декабря 2009

Я только недавно закончил модуль по шаблонам программного обеспечения и сейчас пытаюсь понять структуру PureMVC. Однако, одна вещь поставила меня в тупик, кое-что простое для гуру здесь.

Я пытаюсь создать экземпляр одноэлементного класса Facade. В конструкторе состояние комментариев:

Эта реализация IFacade является Singleton, поэтому вам не следует напрямую вызывать конструктор, а вместо этого вызывать статический метод Singleton Factory Facade.Instance

Как вы можете вызвать метод экземпляра, когда объект Facade даже не был создан?

Метод 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;
        }
    }

1 Ответ

0 голосов
/ 06 декабря 2009

Вы получаете доступ к статическому свойству. Статические свойства являются частью определения класса, а не экземплярами класса. Чтобы получить доступ к статическому члену (свойству, полю, методу), просто используйте точечный член имени класса:

var myFacade = SomeClass.Instance;
...