码迷,mamicode.com
首页 > 其他好文 > 详细

configurationmanager.getsection usage example.

时间:2015-11-06 11:13:47      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:

1.app.config(note that attribute case sensitive!)

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <!--configsections must be placed above most! or there may be a "Configuration System Failed to Initialize" error!-->
  <configSections>
    <!--section type equals format- "type,assemblyname"-->
    <section name="CustomConfig" type="SrvListQueryConsole.CustomConfig, SrvListQueryConsole"/>
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
  </startup>
  <!--config "Value" case sensitive-->
  <CustomConfig>
    <Name Value="asdf"/>
  </CustomConfig>
</configuration>

  2.class (should impliment interface IConfigurationSectionHandler)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;
using System.Xml;

namespace SrvListQueryConsole
{
    class Program
    {


        static void Main(string[] args)
        {
            var m = ConfigurationManager.GetSection("CustomConfig") as CustomConfig;
            Console.WriteLine(m.Name);

            if (args.Length != 2) return;
            //System.Windows.Forms.Form fm = new ServerListQueryFormDll.SrvListQueryFrm(args[0],args[1]);
            //fm.ShowDialog();
            Console.Read();
        }
    }

//mapping!
    public class CustomConfig : IConfigurationSectionHandler
    {
        public string Name { get; private set; }
        public object Create(object parent, object configContext, XmlNode section)
        {
            CustomConfig config = new CustomConfig();
            var name = section.SelectSingleNode("Name");
            if (name != null && name.Attributes != null)
            {
                var attribute = name.Attributes["Value"];
                if (attribute != null)
                    config.Name = attribute.Value;
            }
            return config;
        }
    }
}

  

configurationmanager.getsection usage example.

标签:

原文地址:http://www.cnblogs.com/hualiu0/p/4941828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!