繁体   English   中英

C#设置类的结构

[英]C# Structure for the settings class

在我当前与用户一起使用的应用程序中,允许将许多设置存储在XML文件中的不同类别中。

XML可能看起来像

<settings>
    <setting2>
        <setting3>
            <value1>foo</value1>
            <value2>bar</value2>
        </setting3>
        <value3>A list of strings</value3>
    </setting2>
    <setting4>
        <value4>An integer</value4>
    </setting4>
</settings>

我感到困惑的是如何最好地构造包含此信息的类,我从做一个包含类别和值列表的递归类开始,现在我想起了Java中有一个树集合类,类似那将是最好的解决方案? 你们推荐什么?

为什么不将整个XML文件加载到XPathDocument中? 它易于使用且速度很快。

您可以像这样访问各个设置:

XPathDocument xmldoc = new XPathDocument(settingsFile);
XPathNavigator nav = xmldoc.CreateNavigator();

foreach (XPathNavigator node in nav.Select("settings/setting2/setting3"))
{
   ...
}

我会支持更多的OO方法。

public abstract class SettingAbstract
{
   public abstract List<Setting> Children {get;set;}
   public abstract List<object>  Values {get;set}
   public XmlNode SaveMe();
}

在每种设置类型的具体实现之后

public Setting2 : SettingAbstract
{
   //concrete implementation 
}


public Setting3 : SettingAbstract
{
  //concrete implementation
}
......
......

像这样的东西。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM