using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MyCode.Project.Infrastructure.Trees { /// /// 泛型树节点 /// /// 泛型 public class TreeNode { /// /// 标识 /// public object Id { get; set; } /// /// 父标识 /// public object ParentId { get; set; } /// /// 文本 /// public string Text { get; set; } /// /// 值 /// public T Value { get; set; } /// /// 路径 /// public string Path { get; set; } /// /// 级数 /// public int? Level { get; set; } /// /// 子树节点集合 /// public List> Children { get; set; } /// /// 初始化一个类型的实例 /// public TreeNode() { } /// /// 初始化一个类型的实例 /// /// 文本 /// 值 public TreeNode(string text, T value = default(T)) { this.Text = text; this.Value = value; this.Level = 0; this.Children = new List>(); } /// /// 添加子节点 /// /// 子节点 public void Add(TreeNode childNode) { Children.Add(childNode); childNode.Level += 1; } /// /// 移除子节点 /// /// 子节点 public void Remove(TreeNode childNode) { Children.Remove(childNode); } /// /// 返回树节点为文本 /// /// public override string ToString() { return Text; } } /// /// 树节点 /// public class TreeNode : TreeNode { /// /// 初始化一个类型的实例 /// /// 文本 /// 值 public TreeNode(string text, object value = null) : base(text, value) { } } }