2009-12-06 26 views
0

J'ai récemment terminé une unité sur les modèles de logiciels et j'essaie maintenant de comprendre le framework PureMVC. Une chose a cependant échoué, quelque chose qui est simple pour les gourous ici. Je tente de créer une instance de la classe Facade Singleton. Dans le constructeur, les commentaires Etat:Comment utiliser la méthode Facade.Instance sans construction d'objet?

Cette implémentation IFacade est un Singleton, vous ne devriez pas appeler le constructeur directement, mais au lieu d'appeler la méthode statique Singleton usine Facade.Instance

Comment pouvez-vous appelle la méthode d'instance lorsque l'objet Facade n'a même pas été créé?

La méthode Facade.Instance ressemble à ceci:

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

      return m_instance; 
     } 
    } 

Répondre

0

Vous accédez à une propriété statique. Les propriétés statiques font partie de la définition de classe, pas les instances de classe. Pour accéder à un membre statique (propriété, champ, méthode), utilisez simplement le membre de point de nom de classe:

var myFacade = SomeClass.Instance;