我不一定是指app.configs,但每当用户点击“保存”按钮,将储存我的程序状态的自定义配置文件。
在我的例子,这是一个UI生成器,允许用户选择哪个“田”是一个两列的屏幕显示在左侧和右侧列,每列中的字段的顺序一起。 还有其他的东西太多,但你的想法。
用户可以打开他们所保存的任何配置文件,并适当地填充UI建设者。
我想这可能是存储在XML文件中,但我想知道的人会有什么样的建议,关于如何写出来,如何从它(也许使用LINQ?)等一般方法,包括版本控制等阅读我敢肯定,这之前已经上来,我想听到的最佳做法。 谢谢!
我用我的程序的方法是保持我的配置值在DataSet中的存储值使用一个DataTable的类。 当我要救它,我用DataSet.WriteXML()到任何文件名用户希望。
我目前使用的是非常简单的(一个数据表与关键,值列),但它很容易地扩展到与各种信息的特定列多个相关数据表。 该数据集处理文件IO。
那么它是一个微风与DataSet.ReadXML读回()。
这种方法在序列化类的一个优点是,它更容易处理从以前版本的程序保存的文件。 您可以用来保存它,这样你的新版本就知道了旧文件不会有新的版本添加任何值版本的程序设置在表中的值 - 它可以适当地将它们设置为更新文件版。
如果要添加新功能,以一个类(值,方法),它的序列化的文件会比早期版本不同 - 不知道这将是多么容易处理这些旧文件。
下面是一个简单的示例类 。
像这样使用,使得像这样的文件 :
To create a new one:
Dim UIcfg As UIsettings = New UIsettings("TestSettings.cfg")
UIcfg.setGeneralValue("Version", "1.0.0")
UIcfg.setGeneralValue("Author", "Bobs YourUncle")
UIcfg.setFieldValues("FirstName", "Left", "1")
UIcfg.setFieldValues("LastName", "Right", "1")
UIcfg.setFieldValues("ShoeSize", "Left", "2")
UIcfg.setFieldValues("ShoeColor", "Left", "3")
UIcfg.Save()
To get values from it:
Dim value As String = ""
Dim values As String = ""
value = UIcfg.getGeneralValue("Author")
values = UIcfg.getFieldValues("FirstName")
代码是不是试图解释一个概念就轻松多了。 :-)
是否有是有些人可读? 抑或是用户不小心...只是保存我的设置...,让我以后重装呢?
如果没有,只是创建/设计一堆有意义属性的对象...创建实例...和序列化(二进制或肥皂或自定义)对象到磁盘。 然后,你总是可以从磁盘“重新水合物”你的对象后。
如果可能的话,我总是喜欢做重复的工作。 让框架做的工作。