Настраиваемые разделы app/web config, элементы коллекции с атрибутами
Я думал, что это будет что-то простое, так как у меня есть раздел XML, как:
<InterfaceDetails>
<Interface name="TestInterface1">
<Details data="xxxxxx" />
<Details data="yyyyyy" />
</Interface>
<Interface name="TestInterface2">
<Details data="zzzzzz" />
</Interface>
</InterfaceDetails>
Обработчик раздела подключается нормально, но выдает ошибку при чтении xml, говоря, что не может найти атрибут "name", теперь без добавления ЗАГРУЗКИ кода здесь у меня есть следующие классы:
- InterfaceDetailsSection
Контейнер основного раздела имеет свойство Interface, которое ссылается на InterfaceElementCollection.
- InterfaceElementCollection
Это производный класс коллекции элементов, который должен предоставлять атрибут name и элементы details ниже. Я попытался дать этому классу атрибут с именем name, и это, похоже, сработало, но затем я получил еще одну ошибку о дочерних элементах.
- DetailsElement
Он содержит атрибут данных для элементов Details.
Я хочу быть в состоянии идеально вытащить каждый интерфейс, а затем для каждого интерфейса вытащить детали, однако на всю жизнь, даже глядя на множество учебных пособий в этой области, ни один из них, похоже, не охватывает наличие нескольких детей в нескольких дети, или если они не имеют атрибутов в коллекциях.
Может кто-нибудь увидеть какие-либо вопиющие ошибки или дать мне какие-либо указания относительно того, где я иду не так.
2 ответа
Вы можете попробовать с этим
<configuration>
<!-- Configuration section-handler declaration area. -->
<configSections>
<sectionGroup name="myCustomGroup">
<section
name="myCustomSection"
type="MyConfigSectionHandler.MyHandler, MyCustomConfigurationHandler, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
allowLocation="true"
allowDefinition="Everywhere"
/>
</sectionGroup>
<!-- Other <section> and <sectionGroup> elements. -->
</configSections>
<!-- Configuration section settings area. -->
<myCustomGroup>
<myCustomSection myAttrib1="Clowns">
</myCustomSection>
</myCustomGroup>
</configuration>
Пользовательский раздел конфигурации, содержащий коллекцию
Вышеупомянутый вопрос был НАКОНЕЦ ответом, который я искал, поэтому, если у кого-то еще есть такая же проблема, как и у меня, пытающаяся ориентироваться в таинственном мире ConfigurationSections, они могут быть направлены в правильном направлении.