動的に拡張するツリー ビューとして機能させたいリストがありますが、リスト内に複数のリストを含める場合は、最初のリストの定義でそれを宣言する必要があります。これを達成するために何が欠けていますか?私の目標を達成するために使用するより良いものはありますか?
コンテキストのために、アプリケーション内でレジストリを複製できるように、ツリー ビューのように設定しようとしています。
動的に拡張するツリー ビューとして機能させたいリストがありますが、リスト内に複数のリストを含める場合は、最初のリストの定義でそれを宣言する必要があります。これを達成するために何が欠けていますか?私の目標を達成するために使用するより良いものはありますか?
コンテキストのために、アプリケーション内でレジストリを複製できるように、ツリー ビューのように設定しようとしています。
シナリオに適したタイプを使用してください。
TreeNode
あなたの場合、これは次のようなクラスです:
public class TreeNode
{
private readonly List<TreeNode> _children = new List<TreeNode>();
public TreeNode(string name, params TreeNode[] children)
{
Name = name;
_children.AddRange(children);
}
public List<TreeNode> Children { get { return _children; } }
public string Name { get; set; }
}
次のツリーを想定します。
Root
+ Child1
+ Child1a
+ Child1b
+ Child2
+ Child2a
+ Child2aA
+ Child2aB
+ Child2b
次のように作成します。
var root = new TreeNode("Root",
new TreeNode("Child1",
new TreeNode("Child1a"),
new TreeNode("Child1b")),
new TreeNode("Child2",
new TreeNode("Child2a",
new TreeNode("Child2aA"),
new TreeNode("Child2aB")),
new TreeNode("Child2b")));