理想情况下,我会使用与app.config相同基本结构的文件并提取设置,只要我可以获得任何类型的“pathed”XML存储设置我就可以了。
理想情况下给出类似:
<Root>
<ApplicationSettings>
<Setting key="SomeKey", value="SomeValue"/>
</ApplicationSettings>
</Root>
我会打电话给:
Settings.Get("ApplicationSettings.SomeKey");
并将“SomeValue”作为一个lresult。
任何人都知道通常采用任何简单的标准来做到这一点吗?
答案 0 :(得分:3)
我不确定我是否理解这个问题,因为您似乎熟悉App.Config文件......有一种方法与您发布的方法非常相似。为您的项目创建一个App.Config文件,并将以下代码放入其中:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Key1" value="Value1" />
<add key="Key2" value="Value2" />
</appSettings>
</configuration>
然后您可以使用以下代码在代码中访问它:
string key1= ConfigurationSettings.AppSettings["Key1"];
答案 1 :(得分:2)
是。
很久以前,Craig Andera描述了the last configuration handler you'll ever need。它使用app.config来提供配置。您可以修改它以从其他地方获取配置。
修改强>
好像上面的链接已被移动了
http://sites.google.com/site/craigandera/craigs-stuff/clr-workings/the-last-configuration-section-handler-i-ll-ever-need
答案 2 :(得分:1)
标准是使用app.config / web.config。
我不知道你在哪里听到改变它不是最佳做法 - 我认为有人试图欺骗你。
答案 3 :(得分:0)
您可以构建一个拉取Value的函数。我做了这个
Public Class Settings
Public Function GetSetting(Byval SettingsKey As String) As String
Dim xDoc As New XmlDocument
xDoc.Load("app.config")
Dim xNode As XmlNode
xNode = xDoc.SelectSingleNode(("Settings/setting[@item='" & SettingsKey & "']"))
If xNode Is Nothing Then
Return String.Empty
Else
Return xNode.Attributes("value").Value
End If
xDoc = Nothing
End Sub
End Class
然后像这样称呼它
Settings.GetSetting("MyArbitraryKey")