我有下面的类来生成层次树结构
public class DynaTreeNode
{
#region---Property---
public string title { get; set; }
public string key { get; set; }
public object icon { get; set; }
List<DynaTreeNode> _children = new List<DynaTreeNode>();
public List<DynaTreeNode> children
{
get { return _children; }
set { _children = value; }
}
}
我也有一个 DynaTreeNode 列表
List<DynaTreeNode> wholeTree = new List<DynaTreeNode>();//originally from DB
现在我想将此列表集合克隆到一个新列表中
Todo this 我想用
wholeTree.Select(i => i.Clone()).ToList();
在这种情况下,我需要为 DynaTreeNode 实现 IClonable 接口。但问题是 IClonable 不会做深拷贝。来自http://blogs.msdn.com/b/brada/archive/2003/04/09/49935.aspx
这个答案也使用 IClonable。
如何使用深拷贝克隆我的列表?.
注意:我希望所有的孩子(列表)也应该被克隆。