階層ツリー構造を生成するための以下のクラスがあります
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
次に、このリストコレクションを新しいリストに複製します
これをやろうと思っています
wholeTree.Select(i => i.Clone()).ToList();
この場合、DynaTreeNodeへのIClonableインターフェイスを実装する必要があります。しかし、問題はIClonableがディープコピーを実行しないことです。http://blogs.msdn.com/b/brada/archive/2003/04/09/49935.aspxから
参照C#でジェネリックリストのクローンを作成するにはどうすればよいですか?
この回答もIClonableを使用しています。
ディープコピーを使用してリストのクローンを作成するにはどうすればよいですか?。
注:すべての子(リスト)も複製する必要があります。