using System; using System.Collections.Generic; namespace Masuit.Tools.Models; /// /// 树形实体接口 /// /// public interface ITree : ITreeParent, ITreeChildren { /// /// 名字 /// string Name { get; set; } } /// /// 带子级的树形实体接口 /// /// public interface ITreeChildren { /// /// 子级 /// ICollection Children { get; set; } } /// /// 带父节点的树形实体接口 /// /// public interface ITreeParent { /// /// 父节点 /// T Parent { get; set; } } /// /// 树形实体(值类型主键) /// /// /// public interface ITreeEntity : ITreeChildren where TKey : struct, IComparable { /// /// 主键id /// public TKey Id { get; set; } /// /// 父级id /// public TKey? ParentId { get; set; } } /// /// 树形实体(字符串主键) /// /// public interface ITreeEntity : ITreeChildren { /// /// 主键id /// public string Id { get; set; } /// /// 父级id /// public string ParentId { get; set; } }