下面是“C#自定读取配置文件类实例”的完整攻略。
一、基本思路
读取配置文件需要使用C#提供的System.Configuration.ConfigurationManager类。该类中的ConfigurationManager.OpenExeConfiguration方法可以打开应用程序的配置文件,并且可以根据需要打开任何其他的配置文件。在打开配置文件后,我们就可以使用索引器或appSettings属性读取配置文件中的键值对。
二、步骤说明
- 创建一个新的C#控制台应用程序或者类库项目。
- 在项目中添加一个XML格式的配置文件,例如config.xml。
- 在配置文件中定义键值对,例如:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="name" value="Tom" />
<add key="age" value="25" />
</appSettings>
</configuration>
- 创建一个“ConfigReader”类,该类包含如下代码:
using System.Configuration;
public class ConfigReader
{
private static Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
public static string GetStringValue(string key)
{
return config.AppSettings.Settings[key].Value;
}
public static int GetIntValue(string key)
{
return int.Parse(config.AppSettings.Settings[key].Value);
}
}
- 使用ConfigReader类中的方法读取配置文件中的键值对,例如:
using System;
class Program
{
static void Main()
{
Console.WriteLine(ConfigReader.GetStringValue("name"));
Console.WriteLine(ConfigReader.GetIntValue("age"));
}
}
- 运行程序,输出结果为:
Tom
25
三、示例说明
示例一
假设我们有一个Windows窗体应用程序,其中配置文件为MyConfig.xml,并定义了一个名为“color”的键值对。该应用程序需要根据“color”键值对的值来设置窗体的背景颜色。下面是实现代码:
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Configuration;
public class ConfigReader
{
private static Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
public static string GetStringValue(string key)
{
return config.AppSettings.Settings[key].Value;
}
public static int GetIntValue(string key)
{
return int.Parse(config.AppSettings.Settings[key].Value);
}
}
public class MyForm : Form
{
public MyForm()
{
string colorValue = ConfigReader.GetStringValue("color");
Color color = Color.FromName(colorValue);
this.BackColor = color;
}
}
示例二
假设我们有一个Web应用程序,其中配置文件为Web.config,并定义了一个名为“database”的键值对。该应用程序需要根据“database”键值对的值来连接数据库,并返回查询结果。下面是实现代码:
using System;
using System.Data.SqlClient;
using System.Configuration;
public class ConfigReader
{
private static Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
public static string GetStringValue(string key)
{
return config.AppSettings.Settings[key].Value;
}
public static int GetIntValue(string key)
{
return int.Parse(config.AppSettings.Settings[key].Value);
}
}
public class Database
{
public static object Query(string sql)
{
string connectionString = ConfigReader.GetStringValue("database");
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlCommand command = new SqlCommand(sql, connection);
return command.ExecuteScalar();
}
}
}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#自定读取配置文件类实例 - Python技术站