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