我用於我的程序的方法是將我的配置值保存在使用DataSet中的DataTable存儲值的類中。當我想保存它時,我將DataSet.WriteXML()用於用戶想要的任何文件名。我現在的使用非常簡單(一個DataTable與鍵,值列),但它很容易擴展到多個相關的DataTables與特定列的各種信息。 DataSet處理文件io。
然後用DataSet.ReadXML()重新讀入是一件輕而易舉的事情。
該方法在序列化類上的一個優點是處理從以前版本的程序中保存的文件要容易得多。您可以在表格中爲用於保存的程序版本設置一個值,這樣您的較新版本就會知道較舊的文件在新版本中不會添加任何值 - 並且可以正確設置它們以更新文件版。
如果您向類(值,方法)添加新功能,它的序列化文件將與早期版本不同 - 不知道處理這些較舊文件是多麼容易。
這是一個簡單的example class。
像這樣來使用,使得file like this:
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")
代碼比試圖解釋一個概念就輕鬆多了。 :-)
聽起來像一個很好的策略。謝謝! – larryq 2009-10-18 16:59:50