• 简单实现自定义配置节1


           在程序中经常要使用自定义配置节来存储一些信息,下面是一个只读简单实现:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Configuration;

    namespace SmsWinForm
    {

        
    public class SectionHandler : System.Configuration.IConfigurationSectionHandler
        {
            
    public object Create(object parent, object configContext, System.Xml.XmlNode section)
            {
                
    return new Config(section);
            }
        }

        
    class Config
        {
            
    private System.Xml.XmlNode m_section;

            
    public Config(System.Xml.XmlNode node)
            {
                m_section 
    = node;
            }

            
    static private Config configSection
            {
                
    get
                {
                    Config config 
    = (Config)System.Configuration.ConfigurationManager.GetSection("SmsWinForm");
                    
    if (config == null)
                    {
                        
    throw new ApplicationException("Failed to get configuration from App.config.");
                    }
                    
    return config;
                }
            }

            
    public string this[string key]
            {
                
    get
                {
                    System.Xml.XmlNode node 
    = m_section.SelectSingleNode(key);
                    
    if (node != null)
                        
    return node.InnerText;
                    
    else
                        
    return null;
                }
            }

            
    static public string BoardID
            {
                
    get
                {
                    
    return configSection["boardid"];
                }
            }

            
    static public string CategoryID
            {
                
    get
                {
                    
    return configSection["categoryid"];
                }
            }

        }
    }

    App.config中
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      
    <configSections>
        
    <section name="SmsWinForm" type="SmsWinForm.SectionHandler,ConsoleTest1"/>
      
    </configSections>
      
    <SmsWinForm>
        
    <categoryid>CMPP</categoryid>
        
    <boardid>32</boardid>
      
    </SmsWinForm>
    </configuration>

    调用


    Tip:如果只是用于只读情况下,那这个方法足够了,并且大部分情况我们很少更新配置节。

    http://wintersun.cnblogs.com

  • 相关阅读:
    Ubuntu-14.04-QT开发环境搭建-(一)
    解决使用Qt creator时出现Cannot overwrite file ..Permission denied
    Github上关于大数据的开源项目、论文等合集
    Qt5.4中遇到找不到头文件<QApplication>等。
    qt的下载地址
    完整的qt安装教程
    Ubuntu14.04安装Matlab2014a
    Ubuntu14.04安装搜狗输入法的一点小问题
    把OnDraw和OnPaint弄清楚(转贴)
    Ubuntu上挂载源代码,docker容器中共享这个原代码,实现自动部署
  • 原文地址:https://www.cnblogs.com/wintersun/p/1339430.html
Copyright © 2020-2023  润新知