2009-06-04 2 views

答えて

4

Singletonのコンストラクタ内のすべてのデータベース操作を行う実装しようとしています。

これらの操作が何であるかわからないと、私たちは本当にはるかに役立つわけではありませんが、それを置く必要があります。明らかに、それは大規模なコンストラクタを作成することを意味するのではなく、コードを通常のメソッドに分割することはできますが、コンストラクタからそれらを呼び出す必要があります。

+0

私は右の人の回答を得ました。 )...ありがとう...うん.. ..コンストラクタでLoadSettings()メソッド呼び出しを追加...追加しようとしていた: foreach(sett.GetProperties()内のPropertyInfo propertyInformation){ 反射歩行...バグがあった... –

0

BlogEngineからほぼまっすぐなコピーペースト...

System.Collections.Specialized.ListDictionary lstSettings; 
    string msg; 

    MyApp.Bo.AppUser objAppUser = new AppUser(); 
    MyApp.Db.SqlServer2008Provider p = new MyApp.Db.SqlServer2008Provider(objAppUser); 



    p.LoadSettings(out msg, out lstSettings); 

    foreach (string key in lstSettings.Keys) 
    { 

     string name = key; 
     string value = (string)lstSettings[key]; 

     #region CycleTroughobjAppSettingProperties 
     Type objAppSettingsType = typeof(MyApp.Bo.AppSettings); 
     foreach (PropertyInfo propInfo in objAppSettingsType.GetProperties()) 
     { 
      if (propInfo.Name.Equals(name, StringComparison.OrdinalIgnoreCase)) 
      { 

       try 
       { 
        propInfo.SetValue(this, Convert.ChangeType(value, propInfo.PropertyType, CultureInfo.CurrentCulture), null); 
       } 
       catch 
       { 
        logger.Fatal("Failed setting the Application settings "); 
       } 
       break; 
      } 
     } 
     #endregion CycleTroughobjAppSettingProperties 
    } 
関連する問題