Class CustomSource<TOutput>
Define your own source block. This block generates data from a your own custom written functions.
Inherited Members
Namespace: ETLBox.DataFlow
Assembly: ETLBox.dll
Syntax
public class CustomSource<TOutput> : DataFlowExecutableSource<TOutput>, IDataFlowExecutableSource<TOutput>, IDataFlowSource<TOutput>, IDataFlowExecutableSource, IDataFlowSource, IDataFlowComponent, ILoggableTaskType Parameters
| Name | Description |
|---|---|
| TOutput | Type of outgoing data. |
Examples
List<string> Data = new List<string>()
{
"Test1", "Test2", "Test3"
};
var source = new CustomSource<MyRow>();
source.ReadFunc = progressCount =>
{
return new MyRow()
{
Id = progressCount + 1,
Value = Data[progressCount]
};
return result;
};
source.ReadCompletedFunc = progressCount => progressCount >= Data.Count;Constructors
CustomSource()
Declaration
public CustomSource()CustomSource(Func<int, TOutput>, Predicate<int>)
Declaration
public CustomSource(Func<int, TOutput> readFunc, Predicate<int> readingCompleted)Parameters
| Type | Name | Description |
|---|---|---|
| Func<int, TOutput> | readFunc | Sets the ReadFunc |
| Predicate<int> | readingCompleted | Sets the ReadingCompleted |
Properties
ReadFunc
The function that returns a data row as output. An integer value with the current progress count is the input of the function.
Declaration
public Func<int, TOutput> ReadFunc { get; set; }Property Value
| Type | Description |
|---|---|
| Func<int, TOutput> |
ReadingCompleted
This predicate returns true when all rows for the flow are successfully returned from the ReadFunc. An integer value with the current progress count is the input of the predicate.
Declaration
public Predicate<int> ReadingCompleted { get; set; }Property Value
| Type | Description |
|---|---|
| Predicate<int> |
Methods
CheckParameter()
Declaration
protected override void CheckParameter()Overrides
CleanUpOnFaulted(Exception)
Declaration
protected override void CleanUpOnFaulted(Exception e)Parameters
| Type | Name | Description |
|---|---|---|
| Exception | e |
Overrides
CleanUpOnSuccess()
Declaration
protected override void CleanUpOnSuccess()Overrides
OnExecutionDoAsyncWork()
Declaration
protected override void OnExecutionDoAsyncWork()