我有一个存储分层数据的对象。我已经能够成功地从平面结构创建所需的结构,但这需要我使用不可更改的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
,则为项目,否则为文件夹,包含零个或多个$x
。
答案 0 :(得分:0)
我找不到设置“儿童”属性的位置,但您只需要在列表中添加.ToImmutableList()
item.Children = yourList.ToImmutableList();