Class DependencySorter<T>
Performs topological sorting of items based on dependencies.
Inheritance
System.Object
DependencySorter<T>
Namespace: EPiServer.Framework.Dependencies
Assembly: EPiServer.Framework.dll
Version: 12.0.3Syntax
public class DependencySorter<T> : Object
Type Parameters
Name | Description |
---|---|
T |
Remarks
This class is thread safe.
Constructors
DependencySorter()
Declaration
public DependencySorter()
Methods
Sort(IEnumerable<T>, Func<T, IEnumerable<T>>)
Sorts specified items by dependencies.
Declaration
public IList<T> Sort(IEnumerable<T> items, Func<T, IEnumerable<T>> getDependenciesDelegate)
Parameters
Type | Name | Description |
---|---|---|
System. |
items | The items. |
System. |
getDependenciesDelegate | The deledate to get item dependencies. |
Returns
Type | Description |
---|---|
System. |
Exceptions
Type | Condition |
---|---|
Dependency |
Thrown when dependency cycle is detected. |
Sort(IEnumerable<T>, Func<T, IEnumerable<T>>, Boolean)
Sorts specified items by dependencies.
Declaration
public IList<T> Sort(IEnumerable<T> items, Func<T, IEnumerable<T>> getDependenciesDelegate, bool throwOnCycle)
Parameters
Type | Name | Description |
---|---|---|
System. |
items | The collection of items that should be sorted by dependencies. |
System. |
getDependenciesDelegate | The deledate to get item dependencies. |
System. |
throwOnCycle | if set to |
Returns
Type | Description |
---|---|
System. |