gpt4 book ai didi

vb.net - 在 .Net 中访问自定义配置部分

转载 作者:行者123 更新时间:2023-12-04 10:06:21 25 4
gpt4 key购买 nike

我试图访问我的配置文件中的设置,它是一系列 xml 元素,如下所示:

<databases>
<database name="DatabaseOne" Value="[value]" />
<database name="DatabaseTwo" Value="[value]" />
</databases>

现在我想访问它。我已经设置了这样的类(class):
Public Class DatabaseConfigurationHandler
Inherits ConfigurationSection

<ConfigurationProperty("Databases", IsDefaultCollection:=True)> _
Public ReadOnly Property Databases() As DatabaseCollection
Get
Return CType(Me("Databases"), DatabaseCollection)
End Get
End Property
End Class

Public Class DatabaseCollection
Inherits ConfigurationElementCollection

Protected Overloads Overrides Function CreateNewElement() As ConfigurationElement
Return (New Database())
End Function

Protected Overloads Overrides Function GetElementKey(ByVal element As ConfigurationElement) As Object
Return (CType(element, Database).DatabaseName)
End Function

End Class

Public Class Database
Inherits ConfigurationElement

<ConfigurationProperty("name", IsKey:=True, IsRequired:=True)> _
Public Property DatabaseName() As String
Get
Return Me("name").ToString()
End Get
Set(ByVal Value As String)
Me("name") = Value
End Set
End Property


<ConfigurationProperty("value", IsRequired:=True)> _
Public Property DatabaseValue() As String
Get
Return Me("value").ToString()
End Get
Set(ByVal Value As String)
Me("value") = Value
End Set
End Property

End Class

我希望能够通过它的名称获取元素并返回值,但我看不到这样做:
Dim config As New DatabaseConfigurationHandler
config = System.Configuration.ConfigurationManager.GetSection("databases/database")
Return config.Databases("DatabaseOne")

我是否缺少一些代码,我做错了什么?上面还有其他错误吗?

谢谢。

最佳答案

再没有什么好的理由去手工设计这种东西了。相反,您应该在 CodePlex 上使用配置节设计器:

http://csd.codeplex.com/

安装后,您只需向项目中添加一个新项目(配置部分设计器),然后添加元素和约束即可。我发现它非常易于使用,而且我可能再也不会为配置文件编写一段代码了。

关于vb.net - 在 .Net 中访问自定义配置部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/710449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com