有这样一个需求:
对于一个任意自定义类:
public class myTestConfig
{
    public int number;
    public string value;
    public bool display;   
}
希望通过一个类实现从配置文件中读取和写入,就像通过继承ConfigurationSection实现自定义配置节一样
,比如
public class ConfigManager
{
    public T  load<T>()
    {
      //这里怎么实现?
    }
    public void Save<T> ( T instance)
    {
      //这里怎么实现?
    }
}大家给个思路,通过读写XML文件应该能实现。但是有没有更简单点的办法?

解决方案 »

  1.   

    XmlSerializer可以把类转换为XML文件,也可以把XML转换为类,这个应该很简单。具体用法请参考MSDN中Serialize和Deserialize两个方法的说明。
      

  2.   

    通过序列化,如何从能序列化成下面这个样子呢?
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
        <section name="myTestConfig" type="XXX" />
      </configSections>  <myTestConfig number="abc" value="1000" display="false" /></configuration>就是既有<section name="myTestConfig" type="XXX" /> 
    也有对应的  <myTestConfig number="abc" value="1000" display="false" />
    呢?
      

  3.   

    有各式各样的序列化可以使用http://www.cnblogs.com/ejiyuan/archive/2009/01/21/1379256.html
      

  4.   


    可以做个缓存,这个问题不大。
    这么做主要是领导认为让每个自定义配置节都继承自ConfigurationSection太麻烦。