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.

Inheritance
object
DataFlowTransformation<TInput, TInput>
Sort<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
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
NameDescription
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
TypeNameDescription
System.Comparison<T><TInput>sortFunction

Will set the SortFunction

Properties

MaxBufferSize

Declaration
    public int MaxBufferSize { get; }
Property Value
TypeDescription
int

ProgressCount

Declaration
    public int ProgressCount { get; }
Property Value
TypeDescription
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
TypeDescription
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
TypeDescription
ISourceBlock<><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
TypeDescription
ITargetBlock<><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
TypeDescription
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
TypeNameDescription
System.Exceptione
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
TypeNameDescription
IDataFlowDestination<ETLBoxError>target
Returns
TypeDescription
IDataFlowSource<ETLBoxError>
Overrides
ETLBox.DataFlow.DataFlowSource<TInput>.LinkErrorTo(ETLBox.IDataFlowDestination<ETLBox.ETLBoxError>)
Examples
Comparison<MyDataRow> comp = new Comparison<MyDataRow>(
    (x, y) => y.Value2 - x.Value2
);
Sort<MyDataRow> block = new Sort<MyDataRow>(comp);

Implements