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; }
}