SoFunction
Updated on 2025-03-07

Summary of methods for reading configuration files in C#

Configuration File

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

The first type

  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)("SQLConfiguration");
      ();
      ();

The second type

  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)("AccountConfiguration");
      ();
      ();

The third type

      Configuration config = ();
      SmtpSection section = ("/mailSettings/smtp") as SmtpSection;
      ();

The fourth type

https:///article/

The fifth type

 

The sixth type

 

Of course there are many more...

The above is the entire content of this article, I hope you like it.