У меня есть дерево.Элегантный и удобный способ заселения древовидных структур в C#
class TreeNode {
public TreeNode(string name, string description) {
Name = name;
Description = description;
}
string Name { get; set; }
string Description { get; set; }
public List<TreeNode> Children = new List<TreeNode>();
}
Я хотел бы заполнить большую для целей тестирования. Я действительно хотел бы сохранить материал СУХОЙ.
Say для иллюстрации моего дерево имеет следующую структуру
Parent,desc Child 1, desc1 Grandchild 1, desc1 Child 2, desc2
Как бы вы о наполнении дерева в шикарном на обслуживаемых пути?
Я нахожу этот код довольно скучны и ошибкам:
var parent = new TreeNode("Parent", "desc");
var child1 = new TreeNode("Child 1", "desc1");
var child2 = new TreeNode("Child 2", "desc2");
var grandchild1 = new TreeNode("Grandchild 1", "desc1");
parent.Children.Add(child1);
parent.Children.Add(child2);
child1.Children.Add(grandchild1);
EDIT
я в конечном итоге делает DSL подход:
Демонстрационный test lives here.
В нем используется строитель и простая DSL.
+1. Это одна из единственных вещей, для которых на самом деле хорошо подходит XML, поскольку это в основном читаемая человеком форма дерева. – configurator
Большое преимущество использования XML над DSL, встроенным в строку, - это множество инструментов, которые его окружают. – ICR