diff --git a/src/Umbraco.Core/TopologicalSorter.cs b/src/Umbraco.Core/TopologicalSorter.cs index 436a247f5e..d25e1da406 100644 --- a/src/Umbraco.Core/TopologicalSorter.cs +++ b/src/Umbraco.Core/TopologicalSorter.cs @@ -4,7 +4,12 @@ using System.Linq; namespace Umbraco.Core { - internal class TopologicalSorter + /// + /// Topological Sort algorithm for sorting items based on dependencies. + /// Use the static method TopologicalSorter.GetSortedItems for a convenient + /// way of sorting a list of items with dependencies between them. + /// + public class TopologicalSorter { private readonly int[] _vertices; // list of vertices private readonly int[,] _matrix; // adjacency matrix @@ -109,8 +114,9 @@ namespace Umbraco.Core #endregion - #region Internal Staic methods - internal static IEnumerable GetSortedItems(List> fields) where T : class + #region Static methods + + public static IEnumerable GetSortedItems(List> fields) where T : class { int[] sortOrder = GetTopologicalSortOrder(fields); var list = new List(); @@ -155,9 +161,10 @@ namespace Umbraco.Core int[] result = g.Sort(); return result; } + #endregion - internal class DependencyField where T : class + public class DependencyField where T : class { public DependencyField() {