У меня есть объект, который хранит иерархические данные.Мне удалось создать нужную структуру из плоской структуры, но для этого мне потребовалось использовать List<>
, который не является неизменным (я хочу использовать IReadOnlyList
).
Теперь я могу 'я действительно не могу понять, как я буду создавать неизменные списки на основе этих списков детей.Кто-нибудь может направить меня в правильном направлении?
Класс выглядит следующим образом:
public class ItemOrFolder
{
public string Id { get; }
public string Name { get; }
public List<ItemOrFolder> Children { get; set; } // Need to create immutable versions of these recursively
private ItemOrFolder(string id, string name)
{
Id = id;
Name = name;
}
public static ItemOrFolder Create(string id, string name)
{
return new ItemOrFolder(id, name);
}
}
Если Children
равен null
, то это элемент, в противном случае это папка, содержащаяноль или более ItemOrFolder
.