Как я могу определить простую иерархию в каком-то удобном для чтения формате, а затем выполнить итерацию / навигацию по ней в C #?
Полагаю, я мог бы просто определить набор классов и получить свойства, но я бы предпочел использовать менее выглядящий кодом формат, например xml-ish или даже простой текст - например ..
<root>
<level1 name="whatever">
<sublevel1 />
<sublevel2 />
</level1>
<level2 />
<level3 />
</root>
или, может быть, что-то связующее модель MVC asp.net только что заставил меня думать о
Root.Name=Thing
Root.Type=Object
Root.SubLevel[0].Name=SomeItems
Root.SubLevel[0].Type=Collection
Root.SubLevel[1].Name=OtherThing
Root.SubLevel[1].Type=Object
Root.SubLevel[1].SubLevel[0].Name=OtherItems
Root.SubLevel[1].SubLevel[0].Type=Collection
В любом случае, чем проще, тем лучше. Идея заключалась бы в том, чтобы выполнять итерацию по иерархии и повторять различные действия, используя ее свойства - такие как «Имя», «Тип» и т. Д. Я также хотел бы иметь возможность использовать индекс (во втором примере) или просто иметь возможность отслеживать мою позицию в структуре во время навигации по ней. Как это можно сделать, кроме моделирования с помощью классов?