西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发C#.NET → C#获取config文件的appSettings节点封装技巧

C#获取config文件的appSettings节点封装技巧

相关软件相关文章发表评论 来源:西西整理时间:2011/7/30 2:25:14字体大小:A-A+

作者:西西点击:1085次评论:0次标签: config

Apple ConfiguratorV1.7.2最新版
  • 类型:Mac应用软件大小:14.6M语言:中文 评分:10.0
  • 标签:
立即下载

C#的开发中,无论你是winform开发还是webform开发,都需要通过config文件来配置一些信息,因此我们也经常需要获取其中的appSettings节点的值。当然,.net已经对访问这个节点做了封装,我们可以很方便的访问该节点。但是,我觉得还是不够满意,因为我需要在获取不到节点的时候能够返回默认的值,获取的时候能够自动转为我需要的类型,我需要能够随时指定config文件,而不仅仅是默认的web.config文件或者是*.exe.config文件。尤其最后的那个功能,嘿嘿,别以为这个没有用,有时候,我们是需要共用一个配置文件的。比如你在开发Windows服务的时候,你不会希望你用界面的那个程序和Windows服务的程序有两个一样的配置文件吧

      直接贴代码:

 1 /// <summary>
 2         /// 获取AppSetting里面的内容
 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里面的指定键值对应的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         }

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)