[C#]配置文件Section节点处理小计_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > [C#]配置文件Section节点处理小计

[C#]配置文件Section节点处理小计

 2014/8/20 12:07:34  楚人游子  程序员俱乐部  我要评论(0)
  • 摘要:有时候项目开发中,需用用配置文件来存储一些关于程序配置信息,这时候你可以选择INI或者app.config来存储,这里总结小计一下:配置文件示例:<?xmlversion="1.0"encoding="utf-8"?><configuration><configSections><sectionGroupname="module"><sectionname="
  • 标签:C# 配置文件 文件 配置

有时候项目开发中,需用用配置文件来存储一些关于程序配置信息,这时候你可以选择INI或者app.config来存储,这里总结小计一下:

配置文件示例:

class="csharpcode"><?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="module">
      <section name="appSettings" type="System.Configuration.NameValueFileSectionHandler"/>
    </sectionGroup>
  </configSections>
  <module>
    <appSettings>
      <!--谷歌地图-->
      <add key="Googlemap" value="1"/>
      <!--箱实时状态信息汇总-->
      <add key="Cab_rt" value="1"/>
    </appSettings>
  </module>
</configuration>
操作代码:
using System;
using System.Collections.Specialized;
using System.Configuration;

namespace ConsoleApplication38
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                SectionToolV2 _sectionHelper = new SectionToolV2("module/appSettings");
                Console.WriteLine(_sectionHelper.GetValue("Googlemap"));
                Console.WriteLine(_sectionHelper.ContainKey("YanZhiwei"));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            finally
            {
                Console.ReadLine();
            }
        }
    }
    class SectionToolV2
    {
        NameValueCollection ModulSettings = null;
        /// <summary>
        ///构造函数 
        /// </summary>
        /// <param name="sectionName">section名称</param>
        public SectionToolV2(string sectionName)
        {
            ModulSettings = ConfigurationManager.GetSection(sectionName) as NameValueCollection;
        }
        /// <summary>
        /// 是否包含该Section
        /// </summary>
        /// <returns></returns>
        public bool ContainSection()
        {
            return !(ModulSettings == null);
        }
        /// <summary>
        /// Section是否包含Key
        /// </summary>
        /// <param name="key">键</param>
        /// <returns>值</returns>
        public bool ContainKey(string key)
        {
            if (ContainSection())
            {
                return !(ModulSettings[key] == null);
            }
            return false;
        }
        /// <summary>
        /// 根据键获取值
        /// </summary>
        /// <param name="Key">键</param>
        /// <returns>当不存在键的时候,返回string.Empty</returns>
        public string GetValue(string Key)
        {
            string _value = string.Empty;
            if (ContainKey(Key))
            {
                _value = ModulSettings[Key];
            }
            return _value;
        }
    }
}

测试效果:

image

希望有所帮助!

  • 相关文章
发表评论
用户名: 匿名