Я бы хотел настроить секцию сбора элементов конфигурации пользовательского приложения, как это
<logSectionGroup>
<logSection name="Testttt">
<properties name ="Pride">
<pathName="TestingLog.txt"/>
<deleteRetention="100"/>
<deleteZeroRetention="5"/>
<wildcard="*.txt"/>
</properties>
<properties name ="Adhoc">
<pathName="blah.txt"/>
<deleteRetention="70"/>
<deleteZeroRetention="3"/>
<wildcard="*.*"/>
</properties>
</logSection>
</logSectionGroup>
Возможно ли это?Свойства будут элементом конфигурации, а раздел журнала - коллекцией элементов конфигурации.Проблема в том, что я видел только то, где вы можете иметь несколько экземпляров одного элемента вместо нескольких элементов.
<Section name="Section1">
<Section name="Section1">
<SubSection name="SubSection1">
<Item name="Item1" />
<Item name="Item2" />
</SubSection>
<SubSection name="SubSection2">
<Item name="Item1" />
<Item name="Item2" />
</SubSection>
</Section>
Когда вы используете GetElementKey (), он возвращает элемент "name" в приведенном выше примере.пример, но как бы вы вернули 4 различных элемента, таких как «pathName», «deleteRetention» и т. д.
Вот мое определение для PropElement
Public Class PropElement
Inherits ConfigurationElement
<ConfigurationProperty("pathName", IsRequired:=True)> _
Public Property PathName() As String
Get
Return CStr(Me("pathName"))
End Get
Set(ByVal value As String)
Me("pathName") = value
End Set
End Property
<ConfigurationProperty("deleteRetention", DefaultValue:="0", IsRequired:=False)> _
Public Property DeleteRetention() As Integer
Get
Return CStr(Me("deleteRetention"))
End Get
Set(ByVal value As Integer)
Me("deleteRetention") = value
End Set
End Property
<ConfigurationProperty("deleteZeroRetention", DefaultValue:="0", IsRequired:=False)> _
Public Property DeleteZeroRetention() As Integer
Get
Return CStr(Me("deleteZeroRetention"))
End Get
Set(ByVal value As Integer)
Me("deleteZeroRetention") = value
End Set
End Property
<ConfigurationProperty("wildcard", DefaultValue:="*.*", IsRequired:=False)> _
Public Property Wildcard() As String
Get
Return CStr(Me("wildcard"))
End Get
Set(ByVal value As String)
Me("wildcard") = value
End Set
End Property
Конечный класс