2010-08-27 3 views
0

J'ai lu le code suivant:Dynamiquement assemly de charge dans le constructeur statique

public class DalFactory 
    { 
     private static IDataContext _instance = null; 

     static DalFactory() 
     { 
      string asm = ConfigurationManager.AppSettings["DAL-Assembly"]; 
      string cls = ConfigurationManager.AppSettings["DAL-Type"]; 

      Assembly a = Assembly.Load(asm); 
      _instance = (IDataContext) a.CreateInstance(cls); 
     } 

     public IDataContext GetDataContext() 
     { 
      return _instance 
     } 
    } 

La méthode GetDataContext retourne une instance en fonction du fichier de configuration. Ma question est la suivante: comme le constructeur statique ne s'initialise qu'une seule fois avant la création de la première instance de DalFactory, le changement de fichier de configuration par la suite ne produira aucun effet. Cela signifie que nous ne pouvons créer un objet de type fixe qu'après l'exécution de l'application. Est-ce vrai?

+0

Votre question n'est pas une question ... Pouvez-vous clarifier? –

Répondre

1

Um ... Ce n'est pas une question. C'est cependant vrai.

En général, les fichiers de configuration ne sont pas destinés à être modifiés lors de l'exécution d'une application.

Questions connexes