西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)C#.NET → C#獲取config文件的appSettings節(jié)點封裝技巧

C#獲取config文件的appSettings節(jié)點封裝技巧

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2011/7/30 2:25:14字體大。A-A+

作者:西西點擊:1085次評論:0次標(biāo)簽: config

Apple ConfiguratorV1.7.2最新版
  • 類型:Mac應(yīng)用軟件大小:14.6M語言:中文 評分:10.0
  • 標(biāo)簽:
立即下載

C#的開發(fā)中,無論你是winform開發(fā)還是webform開發(fā),都需要通過config文件來配置一些信息,因此我們也經(jīng)常需要獲取其中的appSettings節(jié)點的值。當(dāng)然,.net已經(jīng)對訪問這個節(jié)點做了封裝,我們可以很方便的訪問該節(jié)點。但是,我覺得還是不夠滿意,因為我需要在獲取不到節(jié)點的時候能夠返回默認(rèn)的值,獲取的時候能夠自動轉(zhuǎn)為我需要的類型,我需要能夠隨時指定config文件,而不僅僅是默認(rèn)的web.config文件或者是*.exe.config文件。尤其最后的那個功能,嘿嘿,別以為這個沒有用,有時候,我們是需要共用一個配置文件的。比如你在開發(fā)Windows服務(wù)的時候,你不會希望你用界面的那個程序和Windows服務(wù)的程序有兩個一樣的配置文件吧

      直接貼代碼:

 1 /// <summary>
 2         /// 獲取AppSetting里面的內(nèi)容
 3         /// </summary>
 4         /// <typeparam name="T"></typeparam>
 5         /// <param name="defaultValue">The default value.</param>
 6         /// <param name="key">The key.</param>
 7         /// <returns></returns>
 8         public static T GetAppSettingValue<T>(T defaultValue, string key)
 9         {
10             string value = ConfigurationManager.AppSettings[key];
11             if (!string.IsNullOrEmpty(value))
12             {
13                 try
14                 {
15                     defaultValue = (T)Convert.ChangeType(value, typeof(T));
16                 }
17                 catch
18                 {
19                 }
20             }
21             return defaultValue;
22         }
23 
24         /// <summary>
25         /// 獲取指定的Config文件的AppSetting里面的指定鍵值對應(yīng)的value值
26         /// </summary>
27         /// <typeparam name="T"></typeparam>
28         /// <param name="defaultValue">The default value.</param>
29         /// <param name="key">The key.</param>
30         /// <param name="file">The file.</param>
31         /// <returns></returns>
32         public static T GetAppSettingValue<T>(T defaultValue, string key, string file)
33         {
34             var map = new ExeConfigurationFileMap
35             {
36                 ExeConfigFilename = file
37             };
38             Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
39             string value = config.AppSettings.Settings[key].Value;
40 
41             if (!string.IsNullOrEmpty(value))
42             {
43                 try
44                 {
45                     defaultValue = (T)Convert.ChangeType(value, typeof(T));
46                 }
47                 catch
48                 {
49                 }
50             }
51             return defaultValue;
52         }

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)