Class Sort<TInput>
Sorts the incoming data with by the given comparison function. This is a blocking transformation - no output will be produced until all input data has arrived in the transformation.
Implements
IDataFlowTransformation<TInput, TInput>
IDataFlowSource<TInput>
IDataFlowDestination<TInput>
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: ETLBox.DataFlow.Transformations
Assembly: ETLBox.dll
Syntax
public class Sort<TInput> : DataFlowTransformation<TInput, TInput>, ILoggableTask, IDataFlowLogging, IDataFlowTransformation<TInput, TInput>, IDataFlowSource<TInput>, IDataFlowSource, IDataFlowDestination<TInput>, IDataFlowDestination, IDataFlowComponent
Type Parameters
Name | Description |
---|---|
TInput | Type of ingoing (and also outgoing) data. |
Examples
Comparison<MyDataRow> comp = new Comparison<MyDataRow>(
(x, y) => y.Value2 - x.Value2
);
Sort<MyDataRow> block = new Sort<MyDataRow>(comp);
Constructors
Sort()
Declaration
public Sort()
Examples
Comparison<MyDataRow> comp = new Comparison<MyDataRow>(
(x, y) => y.Value2 - x.Value2
);
Sort<MyDataRow> block = new Sort<MyDataRow>(comp);
Sort(Comparison<TInput>)
Declaration
public Sort(Comparison<TInput> sortFunction)
Parameters
Type | Name | Description |
---|---|---|
System.Comparison<T><TInput> | sortFunction | Will set the SortFunction |
Properties
MaxBufferSize
Declaration
public int MaxBufferSize { get; }
Property Value
Type | Description |
---|---|
int |
ProgressCount
Declaration
public int ProgressCount { get; }
Property Value
Type | Description |
---|---|
int |
Examples
Comparison<MyDataRow> comp = new Comparison<MyDataRow>(
(x, y) => y.Value2 - x.Value2
);
Sort<MyDataRow> block = new Sort<MyDataRow>(comp);
SortFunction
A System.Comparison used to sort the data.
Declaration
public Comparison<TInput> SortFunction { get; set; }
Property Value
Type | Description |
---|---|
System.Comparison<T><TInput> |
SourceBlock
SourceBlock from the underlying TPL.Dataflow which is used as output buffer for the component.
Declaration
public override ISourceBlock<TInput> SourceBlock { get; }
Property Value
Type | Description |
---|---|
System.Threading.Tasks.Dataflow.ISourceBlock<TOutput><TInput> |
Overrides
ETLBox.DataFlow.DataFlowSource<TInput>.SourceBlock
TargetBlock
TargetBlock from the underlying TPL.Dataflow which is used as input buffer for the component.
Declaration
public override ITargetBlock<TInput> TargetBlock { get; }
Property Value
Type | Description |
---|---|
System.Threading.Tasks.Dataflow.ITargetBlock<TInput><TInput> |
Overrides
ETLBox.DataFlow.DataFlowTransformation<TInput, TInput>.TargetBlock
TaskName
A name to identify the task or component. Every component or task comes with a default name that can be overwritten.
Declaration
public override string TaskName { get; set; }
Property Value
Type | Description |
---|---|
string |
Overrides
Methods
CheckParameter()
Declaration
protected override void CheckParameter()
Overrides
Examples
Comparison<MyDataRow> comp = new Comparison<MyDataRow>(
(x, y) => y.Value2 - x.Value2
);
Sort<MyDataRow> block = new Sort<MyDataRow>(comp);
CleanUpOnFaulted(Exception)
Declaration
protected override void CleanUpOnFaulted(Exception e)
Parameters
Type | Name | Description |
---|---|---|
System.Exception | e |
Overrides
Examples
Comparison<MyDataRow> comp = new Comparison<MyDataRow>(
(x, y) => y.Value2 - x.Value2
);
Sort<MyDataRow> block = new Sort<MyDataRow>(comp);
CleanUpOnSuccess()
Declaration
protected override void CleanUpOnSuccess()
Overrides
Examples
Comparison<MyDataRow> comp = new Comparison<MyDataRow>(
(x, y) => y.Value2 - x.Value2
);
Sort<MyDataRow> block = new Sort<MyDataRow>(comp);
InitComponent()
Declaration
protected override void InitComponent()
Overrides
Examples
Comparison<MyDataRow> comp = new Comparison<MyDataRow>(
(x, y) => y.Value2 - x.Value2
);
Sort<MyDataRow> block = new Sort<MyDataRow>(comp);
LinkErrorTo(IDataFlowDestination<ETLBoxError>)
Declaration
public override IDataFlowSource<ETLBoxError> LinkErrorTo(IDataFlowDestination<ETLBoxError> target)
Parameters
Type | Name | Description |
---|---|---|
IDataFlowDestination<ETLBoxError> | target |
Returns
Type | Description |
---|---|
IDataFlowSource<ETLBoxError> |
Overrides
ETLBox.DataFlow.DataFlowSource<TInput>.LinkErrorTo(ETLBox.DataFlow.IDataFlowDestination<ETLBox.DataFlow.ETLBoxError>)
Examples
Comparison<MyDataRow> comp = new Comparison<MyDataRow>(
(x, y) => y.Value2 - x.Value2
);
Sort<MyDataRow> block = new Sort<MyDataRow>(comp);