Table of Contents

Class TransformationRuleBase<TIn1, TIn2, TOut>

Namespace
NMF.Transformations
Assembly
NMF.Transformations.dll

Defines a transformation rule of a transformation that has two input arguments and an output

public abstract class TransformationRuleBase<TIn1, TIn2, TOut> : GeneralTransformationRule<TIn1, TIn2>

Type Parameters

TIn1

The type of the first input argument

TIn2

The type of the second input argument

TOut

The type of the output

Inheritance
TransformationRuleBase<TIn1, TIn2, TOut>
Derived
Inherited Members

Properties

OutputType

Gets the output type of this transformation rule

public override sealed Type OutputType { get; }

Property Value

Type

Methods

CallByType<TRequiredInput, TRequiredOutput>(Func<TIn1, TIn2, TRequiredInput>, Action<TOut, TRequiredOutput>)

Calls all transformation rules that transform items from S to T after the current transformation rule

public void CallByType<TRequiredInput, TRequiredOutput>(Func<TIn1, TIn2, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)

Parameters

selector Func<TIn1, TIn2, TRequiredInput>

A method that selects the input for the dependent transformations

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformations

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformations

CallByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Action<TOut, TRequiredOutput>)

Calls all transformation rules that transform items from S to T after the current transformation rule

public void CallByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Action<TOut, TRequiredOutput> persistor)

Parameters

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformations

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformations

Remarks

This version Always takes the input parameter as input for the dependent transformations. Thus, this method will throw an exception, if the types do not match

CallByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn1, TIn2, TRequiredInput1>, Func<TIn1, TIn2, TRequiredInput2>, Action<TOut, TRequiredOutput>)

Calls all transformation rules that transform items from S to T after the current transformation rule

public void CallByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn1, TIn2, TRequiredInput1> selector1, Func<TIn1, TIn2, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)

Parameters

selector1 Func<TIn1, TIn2, TRequiredInput1>

A method that selects the first input for the dependent transformations

selector2 Func<TIn1, TIn2, TRequiredInput2>

A method that selects the second input for the dependent transformation

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformations

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformations

CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>>

A method that selects the inputs for this transformation rule

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the outputs of this rule back to the source instance

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>>, Func<TRequiredInput, bool>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>> selector, Func<TRequiredInput, bool> filter, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>>

A method that selects the input for this transformation rule

filter Func<TRequiredInput, bool>

A method that filters the applicable instances of S

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

selector Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>>

A method that selects the inputs for this transformation rule

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the outputs of this rule back to the source instance

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>>, Func<TRequiredInput, bool>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>> selector, Func<TRequiredInput, bool> filter, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

selector Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>>

A method that selects the input for this transformation rule

filter Func<TRequiredInput, bool>

A method that filters the applicable instances of S

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, IEnumerable<Tuple<TIn1, TIn2>>>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, IEnumerable<Tuple<TIn1, TIn2>>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput1, TRequiredInput2, IEnumerable<Tuple<TIn1, TIn2>>>

A method that selects the inputs for this transformation rule

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the outputs of this rule back to the source instance

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, IEnumerable<Tuple<TIn1, TIn2>>>, Func<TRequiredInput1, TRequiredInput2, bool>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, IEnumerable<Tuple<TIn1, TIn2>>> selector, Func<TRequiredInput1, TRequiredInput2, bool> filter, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput1, TRequiredInput2, IEnumerable<Tuple<TIn1, TIn2>>>

A method that selects the input for this transformation rule

filter Func<TRequiredInput1, TRequiredInput2, bool>

A method that filters the applicable instances of S

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<Tuple<TIn1, TIn2>>>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<Tuple<TIn1, TIn2>>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

selector Func<TRequiredInput1, TRequiredInput2, IEnumerable<Tuple<TIn1, TIn2>>>

A method that selects the inputs for this transformation rule

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the outputs of this rule back to the source instance

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<Tuple<TIn1, TIn2>>>, Func<TRequiredInput1, TRequiredInput2, bool>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<Tuple<TIn1, TIn2>>> selector, Func<TRequiredInput1, TRequiredInput2, bool> filter, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

selector Func<TRequiredInput1, TRequiredInput2, IEnumerable<Tuple<TIn1, TIn2>>>

A method that selects the input for this transformation rule

filter Func<TRequiredInput1, TRequiredInput2, bool>

A method that filters the applicable instances of S

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

CallFor<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TIn1>, Func<TRequiredInput, TIn2>, Action<TOut, TRequiredOutput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made

public void CallFor<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TIn1> selector1, Func<TRequiredInput, TIn2> selector2, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector1 Func<TRequiredInput, TIn1>

A method that selects the frist input for this transformation rule

selector2 Func<TRequiredInput, TIn2>

A method that selects the second input for this transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallFor<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TIn1>, Func<TRequiredInput, TIn2>, Func<TRequiredInput, bool>, Action<TOut, TRequiredOutput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made

public void CallFor<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TIn1> selector1, Func<TRequiredInput, TIn2> selector2, Func<TRequiredInput, bool> filter, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector1 Func<TRequiredInput, TIn1>

A method that selects the first input for this transformation rule

selector2 Func<TRequiredInput, TIn2>

A method that selects the second input for this transformation rule

filter Func<TRequiredInput, bool>

A method that filters the applicable instances of S

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TIn1>, Func<TRequiredInput, TIn2>, Action<TOut, TRequiredOutput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made

public void CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TIn1> selector1, Func<TRequiredInput, TIn2> selector2, Action<TOut, TRequiredOutput> persistor)

Parameters

selector1 Func<TRequiredInput, TIn1>

A method that selects the frist input for this transformation rule

selector2 Func<TRequiredInput, TIn2>

A method that selects the second input for this transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TIn1>, Func<TRequiredInput, TIn2>, Func<TRequiredInput, bool>, Action<TOut, TRequiredOutput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made

public void CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TIn1> selector1, Func<TRequiredInput, TIn2> selector2, Func<TRequiredInput, bool> filter, Action<TOut, TRequiredOutput> persistor)

Parameters

selector1 Func<TRequiredInput, TIn1>

A method that selects the first input for this transformation rule

selector2 Func<TRequiredInput, TIn2>

A method that selects the second input for this transformation rule

filter Func<TRequiredInput, bool>

A method that filters the applicable instances of S

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TIn1>, Func<TRequiredInput1, TRequiredInput2, TIn2>, Action<TOut, TRequiredOutput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made

public void CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, TIn1> selector1, Func<TRequiredInput1, TRequiredInput2, TIn2> selector2, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector1 Func<TRequiredInput1, TRequiredInput2, TIn1>

A method that selects the frist input for this transformation rule

selector2 Func<TRequiredInput1, TRequiredInput2, TIn2>

A method that selects the second input for this transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TIn1>, Func<TRequiredInput1, TRequiredInput2, TIn2>, Func<TRequiredInput1, TRequiredInput2, bool>, Action<TOut, TRequiredOutput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made

public void CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, TIn1> selector1, Func<TRequiredInput1, TRequiredInput2, TIn2> selector2, Func<TRequiredInput1, TRequiredInput2, bool> filter, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector1 Func<TRequiredInput1, TRequiredInput2, TIn1>

A method that selects the first input for this transformation rule

selector2 Func<TRequiredInput1, TRequiredInput2, TIn2>

A method that selects the second input for this transformation rule

filter Func<TRequiredInput1, TRequiredInput2, bool>

A method that filters the applicable instances of S

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TIn1>, Func<TRequiredInput1, TRequiredInput2, TIn2>, Action<TOut, TRequiredOutput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made

public void CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TIn1> selector1, Func<TRequiredInput1, TRequiredInput2, TIn2> selector2, Action<TOut, TRequiredOutput> persistor)

Parameters

selector1 Func<TRequiredInput1, TRequiredInput2, TIn1>

A method that selects the frist input for this transformation rule

selector2 Func<TRequiredInput1, TRequiredInput2, TIn2>

A method that selects the second input for this transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TIn1>, Func<TRequiredInput1, TRequiredInput2, TIn2>, Func<TRequiredInput1, TRequiredInput2, bool>, Action<TOut, TRequiredOutput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation from S to T is made

public void CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TIn1> selector1, Func<TRequiredInput1, TRequiredInput2, TIn2> selector2, Func<TRequiredInput1, TRequiredInput2, bool> filter, Action<TOut, TRequiredOutput> persistor)

Parameters

selector1 Func<TRequiredInput1, TRequiredInput2, TIn1>

A method that selects the first input for this transformation rule

selector2 Func<TRequiredInput1, TRequiredInput2, TIn2>

A method that selects the second input for this transformation rule

filter Func<TRequiredInput1, TRequiredInput2, bool>

A method that filters the applicable instances of S

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the source transformation rule

CallManyByType<TRequiredInput, TRequiredOutput>(Func<TIn1, TIn2, IEnumerable<TRequiredInput>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Calls all transformation rules that transform S to T with all of the specified objects after the current transformation rule

public void CallManyByType<TRequiredInput, TRequiredOutput>(Func<TIn1, TIn2, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

selector Func<TIn1, TIn2, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformations

CallManyByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Calls all transformation rules that transform S to T with all of the specified objects after the current transformation rule

public void CallManyByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

selector Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformations

CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn1, TIn2, TOut, IEnumerable<TRequiredInput>>)

Calls the transformation rule with the given type after the current transformation rule for all inputs, but no earlier than it created its output

public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn1, TIn2, TOut, IEnumerable<TRequiredInput>> selector)

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn1, TIn2, TOut, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformation rule

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn1, TIn2, TOut, IEnumerable<TRequiredInput>>, Func<TIn1, TIn2, TOut, bool>)

Calls the transformation rule with the given type after the current transformation rule for all inputs, but no earlier than it created its output

public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn1, TIn2, TOut, IEnumerable<TRequiredInput>> selector, Func<TIn1, TIn2, TOut, bool> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn1, TIn2, TOut, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformation rule

filter Func<TIn1, TIn2, TOut, bool>

A method that filters the cases where the dependency should fire

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn1, TIn2, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>)

Calls the transformation rule with the given type after the current transformation rule for all inputs, but no earlier than it created its output

public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn1, TIn2, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector)

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The dependent transformation rule

selector Func<TIn1, TIn2, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>

A method that selects the inputs for the dependent transformation rule

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument for the called transformation

TRequiredInput2

The second input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn1, TIn2, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Func<TIn1, TIn2, TOut, bool>)

Calls the transformation rule with the given type after the current transformation rule for all inputs, but no earlier than it created its output

public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn1, TIn2, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Func<TIn1, TIn2, TOut, bool> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The dependent transformation rule

selector Func<TIn1, TIn2, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>

A method that selects the inputs for the dependent transformation rule

filter Func<TIn1, TIn2, TOut, bool>

A method that filters the cases where the dependency should fire

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument for the called transformation

TRequiredInput2

The second input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallMany<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TIn1, TIn2, IEnumerable<TRequiredInput>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Calls the transformation rule with the given type with all of the specified inputs after the current transformation rule

public ITransformationRuleDependency CallMany<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn1, TIn2, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TIn1, TIn2, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallMany<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Calls the transformation rule with the given type with all of the specified inputs after the current transformation rule

public ITransformationRuleDependency CallMany<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn1, TIn2, TOut, TRequiredInput>)

Calls the transformation rule with the given type after the current transformation rule, but no earlier than it created its output

public ITransformationRuleDependency CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn1, TIn2, TOut, TRequiredInput> selector)

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn1, TIn2, TOut, TRequiredInput>

A method that selects the input for the dependent transformation rule

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn1, TIn2, TOut, TRequiredInput>, Func<TIn1, TIn2, TOut, bool>)

Calls the transformation rule with the given type after the current transformation rule, but no earlier than it created its output

public ITransformationRuleDependency CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn1, TIn2, TOut, TRequiredInput> selector, Func<TIn1, TIn2, TOut, bool> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn1, TIn2, TOut, TRequiredInput>

A method that selects the input for the dependent transformation rule

filter Func<TIn1, TIn2, TOut, bool>

A method that filters the cases where the dependency should fire

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn1, TIn2, TOut, TRequiredInput1>, Func<TIn1, TIn2, TOut, TRequiredInput2>)

Calls the transformation rule with the given type after the current transformation rule, but no earlier than it created its output

public ITransformationRuleDependency CallOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn1, TIn2, TOut, TRequiredInput1> selector1, Func<TIn1, TIn2, TOut, TRequiredInput2> selector2)

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The dependent transformation rule

selector1 Func<TIn1, TIn2, TOut, TRequiredInput1>

A method that selects the first input for the dependent transformation rule

selector2 Func<TIn1, TIn2, TOut, TRequiredInput2>

A method that selects the second input for the dependent transformation rule

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument for the called transformation

TRequiredInput2

The second input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn1, TIn2, TOut, TRequiredInput1>, Func<TIn1, TIn2, TOut, TRequiredInput2>, Func<TIn1, TIn2, TOut, bool>)

Calls the transformation rule with the given type after the current transformation rule, but no earlier than it created its output

public ITransformationRuleDependency CallOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn1, TIn2, TOut, TRequiredInput1> selector1, Func<TIn1, TIn2, TOut, TRequiredInput2> selector2, Func<TIn1, TIn2, TOut, bool> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The dependent transformation rule

selector1 Func<TIn1, TIn2, TOut, TRequiredInput1>

A method that selects the first input for the dependent transformation rule

selector2 Func<TIn1, TIn2, TOut, TRequiredInput2>

A method that selects the second input for the dependent transformation rule

filter Func<TIn1, TIn2, TOut, bool>

A method that filters the cases where the dependency should fire

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument for the called transformation

TRequiredInput2

The second input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

Call<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TIn1, TIn2, TRequiredInput>, Action<TOut, TRequiredOutput>)

Calls the transformation rule with the given type after the current transformation rule

public ITransformationRuleDependency Call<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn1, TIn2, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TIn1, TIn2, TRequiredInput>

A method that selects the input for the dependent transformation

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

Call<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Action<TOut, TRequiredOutput>)

Calls the transformation rule with the given type after the current transformation rule

public ITransformationRuleDependency Call<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Remarks

This version Always takes the input parameter as input for the dependent transformations. Thus, this method will throw an exception, if the types do not match

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

Call<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TIn1, TIn2, TRequiredInput1>, Func<TIn1, TIn2, TRequiredInput2>, Action<TOut, TRequiredOutput>)

Calls the transformation rule with the given type after the current transformation rule

public ITransformationRuleDependency Call<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn1, TIn2, TRequiredInput1> selector1, Func<TIn1, TIn2, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector1 Func<TIn1, TIn2, TRequiredInput1>

A method that selects the frist input for the dependent transformation

selector2 Func<TIn1, TIn2, TRequiredInput2>

A method that selects the second input for the dependent transformation

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

MarkInstantiatingFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>()

Marks the current transformation rule instantiating for every rule from S to T

public void MarkInstantiatingFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>()

Type Parameters

TRequiredInput1

The first input argument type

TRequiredInput2

The second input argument type

TRequiredOutput

The output argument type

MarkInstantiatingFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn1, TIn2, bool>)

Marks the current transformation rule instantiating for every rule from S to T

public void MarkInstantiatingFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn1, TIn2, bool> filter)

Parameters

filter Func<TIn1, TIn2, bool>

The filter that should be used to filter the inputs

Type Parameters

TRequiredInput1

The first input argument type

TRequiredInput2

The second input argument type

TRequiredOutput

The output argument type

RequireByType<TRequiredInput, TRequiredOutput>(Func<TIn1, TIn2, TRequiredInput>, Action<TOut, TRequiredOutput>)

Requires all transformation rules that transform items from S to T

public void RequireByType<TRequiredInput, TRequiredOutput>(Func<TIn1, TIn2, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)

Parameters

selector Func<TIn1, TIn2, TRequiredInput>

A method that selects the input for the dependent transformations

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformations

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformations

RequireByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Action<TOut, TRequiredOutput>)

Requires all transformation rules that transform items from S to T

public void RequireByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Action<TOut, TRequiredOutput> persistor)

Parameters

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformations

Type Parameters

TRequiredInput1

The first input argument type

TRequiredInput2

The second input argument type

TRequiredOutput

The output type of the dependent transformations

Remarks

This version Always takes the input parameter as input for the dependent transformations. Thus, this method will throw an exception, if the types do not match

RequireByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn1, TIn2, TRequiredInput1>, Func<TIn1, TIn2, TRequiredInput2>, Action<TOut, TRequiredOutput>)

Requires all transformation rules that transform items from S to T

public void RequireByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn1, TIn2, TRequiredInput1> selector1, Func<TIn1, TIn2, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)

Parameters

selector1 Func<TIn1, TIn2, TRequiredInput1>

A method that selects the first input for the dependent transformations

selector2 Func<TIn1, TIn2, TRequiredInput2>

A method that selects the second input for the dependent transformations

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformations

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformations

RequireManyByType<TRequiredInput, TRequiredOutput>(Func<TIn1, TIn2, IEnumerable<TRequiredInput>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Requires all transformation rules that transform S to T with all of the specified objects

public void RequireManyByType<TRequiredInput, TRequiredOutput>(Func<TIn1, TIn2, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

selector Func<TIn1, TIn2, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformations

RequireManyByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Requires all transformation rules that transform S to T with all of the specified objects

public void RequireManyByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

selector Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformations

RequireMany<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TIn1, TIn2, IEnumerable<TRequiredInput>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Requires the transformation rule with the given type with all of the specified inputs

public ITransformationRuleDependency RequireMany<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn1, TIn2, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TIn1, TIn2, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The first input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

RequireMany<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Requires the transformation rule with the given type with all of the specified inputs

public ITransformationRuleDependency RequireMany<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TIn1, TIn2, TRequiredInput>, Action<TOut, TRequiredOutput>)

Requires the transformation rule with the given type

public ITransformationRuleDependency Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn1, TIn2, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TIn1, TIn2, TRequiredInput>

A method that selects the input for the dependent transformations

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

Require<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Action<TOut, TRequiredOutput>)

Requires the transformation rule with the given type

public ITransformationRuleDependency Require<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Remarks

This version Always takes the input parameter as input for the dependent transformations. Thus, this method will throw an exception, if the types do not match

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

Require<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TIn1, TIn2, TRequiredInput1>, Func<TIn1, TIn2, TRequiredInput2>, Action<TOut, TRequiredOutput>)

Requires the transformation rule with the given type

public ITransformationRuleDependency Require<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn1, TIn2, TRequiredInput1> selector1, Func<TIn1, TIn2, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector1 Func<TIn1, TIn2, TRequiredInput1>

A method that selects the first input for the dependent transformations

selector2 Func<TIn1, TIn2, TRequiredInput2>

A method that selects the second input for the dependent transformations

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

TraceOutput<TKey>(TraceEntryGroup<TKey, TOut>, Func<TIn1, TIn2, TOut, TKey>)

Creates a trace entry for every computation with the key specified by the given selector method

public ITransformationRuleDependency TraceOutput<TKey>(TraceEntryGroup<TKey, TOut> traceKey, Func<TIn1, TIn2, TOut, TKey> traceSelector)

Parameters

traceKey TraceEntryGroup<TKey, TOut>

The transformation rule that is used as group for direct tracing purposes

traceSelector Func<TIn1, TIn2, TOut, TKey>

A method that selects for an input the appropriate key that should be added to the trace

Returns

ITransformationRuleDependency

Type Parameters

TKey

The type of the trace entry key

TraceOutput<TKey>(Func<TIn1, TIn2, TOut, TKey>)

Creates a trace entry for every computation with the key specified by the given selector method

public TraceEntryGroup<TKey, TOut> TraceOutput<TKey>(Func<TIn1, TIn2, TOut, TKey> traceSelector)

Parameters

traceSelector Func<TIn1, TIn2, TOut, TKey>

A method that selects for an input the appropriate key that should be added to the trace

Returns

TraceEntryGroup<TKey, TOut>

A transformation rule that can be used as group or for direct tracing purposes

Type Parameters

TKey

The type of the trace entry key