zoukankan      html  css  js  c++  java
  • C#读取配置文件的几种方式

    配置文件

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="SQLConfiguration" type="ConfigurationDemo.SQLConfiguration,ConfigurationDemo"/>
        <section name="AccountConfiguration" type="ConfigurationDemo.AccountConfiguration,ConfigurationDemo"/>
      </configSections>
      <SQLConfiguration type="MSSQL" connectionString="server=.;integrated security=sspi;database=Northwind"></SQLConfiguration>
      <AccountConfiguration>
        <users username="liunian" password="123456"></users>
      </AccountConfiguration>
      <system.net>
        <mailSettings>
          <smtp from="liunian@qq.com">
            <network />
          </smtp>
        </mailSettings>
      </system.net> </configuration>

    第一种

        class SQLConfiguration : ConfigurationSection
        {
            [ConfigurationProperty("type", IsRequired = true)]
            public string Type
            {
                get { return this["type"].ToString(); }
                set { this["type"] = value; }
            }
    
            [ConfigurationProperty("connectionString", IsRequired = true)]
            public string ConnectionString
            {
                get { return this["connectionString"].ToString(); }
                set { this["connectionString"] = value; }
            }
        }
                SQLConfiguration sqlConfig = (SQLConfiguration)ConfigurationManager.GetSection("SQLConfiguration");
                Console.WriteLine(sqlConfig.Type);
                Console.WriteLine(sqlConfig.ConnectionString);

    第二种

        public class AccountConfiguration : ConfigurationSection
        {
            [ConfigurationProperty("users", IsRequired = true)]
            public AccountSectionElement Users
            {
                get { return (AccountSectionElement)this["users"]; }
            }
        }
    
        public class AccountSectionElement : ConfigurationElement
        {
            [ConfigurationProperty("username", IsRequired = true)]
            public string UserName
            {
                get { return this["username"].ToString(); }
                set { this["username"] = value; }
            }
    
            [ConfigurationProperty("password", IsRequired = true)]
            public string Password
            {
                get { return this["password"].ToString(); }
                set { this["password"] = value; }
            }
        }
              AccountConfiguration accountConfig = (AccountConfiguration)ConfigurationManager.GetSection("AccountConfiguration");
                Console.WriteLine(accountConfig.Users.UserName);
                Console.WriteLine(accountConfig.Users.Password);

    第三种

                Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                SmtpSection section = config.GetSection("system.net/mailSettings/smtp") as SmtpSection;
                Console.WriteLine(section.From);

    第四种

    http://www.cnblogs.com/liunlls/p/config.html

    第五种

     ConfigurationManager.AppSettings

    第六种

     ConfigurationManager.ConnectionStrings

    当然还有很多......

  • 相关阅读:
    1014. 福尔摩斯的约会
    1009. 说反话
    1002. 写出这个数
    1031. 查验身份证
    1021. 个位数统计
    1006. 换个格式输出整数
    1058. A+B in Hogwarts
    1027. Colors in Mars
    1019. General Palindromic Number
    Windows 新装进阶操作指南
  • 原文地址:https://www.cnblogs.com/liunlls/p/configuration.html
Copyright © 2011-2022 走看看