Browse Source

重构tree代码,降低代码复杂度

长空X 10 months ago
parent
commit
19e65c7651
2 changed files with 368 additions and 479 deletions
  1. 10 3
      Masuit.Tools.Abstractions/Models/Tree.cs
  2. 358 476
      Masuit.Tools.Abstractions/Models/TreeExtensions.cs

+ 10 - 3
Masuit.Tools.Abstractions/Models/Tree.cs

@@ -2,13 +2,20 @@
 
 namespace Masuit.Tools.Models;
 
-public class Tree<T>
+/// <summary>
+/// 代表树形结构的类
+/// </summary>
+/// <typeparam name="T"></typeparam>
+public class Tree<T> : ITreeChildren<Tree<T>>
 {
     public Tree(T value)
     {
-        Value = value;
+        this.Value = value;
     }
 
+    /// <summary>
+    /// 代表当前节点的值
+    /// </summary>
     public T Value { get; set; }
 
     /// <summary>
@@ -20,4 +27,4 @@ public class Tree<T>
     /// 子级
     /// </summary>
     public virtual ICollection<Tree<T>> Children { get; set; }
-}
+}

File diff suppressed because it is too large
+ 358 - 476
Masuit.Tools.Abstractions/Models/TreeExtensions.cs


Some files were not shown because too many files changed in this diff