Table of Contents

Class GeneralTransformationRule<TIn1, TIn2>

Namespace
NMF.Transformations
Assembly
NMF.Transformations.dll

Defines a transformation rule of a transformation that has one input argument

public abstract class GeneralTransformationRule<TIn1, TIn2> : GeneralTransformationRule

Type Parameters

TIn1

The type of the first input argument

TIn2

The type of the second input argument

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

Properties

InputType

Gets the type signature of the input arguments of this transformation rule

public override sealed Type[] InputType { get; }

Property Value

Type[]

Methods

Call(GeneralTransformationRule, Func<TIn1, TIn2, object[]>)

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

public ITransformationRuleDependency Call(GeneralTransformationRule rule, Func<TIn1, TIn2, object[]> selector)

Parameters

rule GeneralTransformationRule

The dependent transformation rule

selector Func<TIn1, TIn2, object[]>

A method that selects the input for the dependent computations

Returns

ITransformationRuleDependency

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

Call(GeneralTransformationRule<TIn1, TIn2>, Func<TIn1, TIn2, bool>)

Requires the given transformation rule with the same input types and a filter

public void Call(GeneralTransformationRule<TIn1, TIn2> rule, Func<TIn1, TIn2, bool> filter)

Parameters

rule GeneralTransformationRule<TIn1, TIn2>

The transformation rule

filter Func<TIn1, TIn2, bool>

The filter method

CallByType<TRequiredInput>(Func<TIn1, TIn2, TRequiredInput>)

Calls all transformation rules that match the given input type signature

public void CallByType<TRequiredInput>(Func<TIn1, TIn2, TRequiredInput> selector) where TRequiredInput : class

Parameters

selector Func<TIn1, TIn2, TRequiredInput>

A method that selects the input arguzment for the dependent transformation rules

Type Parameters

TRequiredInput

The type of the input argument of dependent transformation rules

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

CallByType<TRequiredInput1, TRequiredInput2>()

Calls the transformation rules that match the given input types with the same inputs

public void CallByType<TRequiredInput1, TRequiredInput2>() where TRequiredInput1 : class where TRequiredInput2 : class

Type Parameters

TRequiredInput1

The first input type of the dependent transformation rule

TRequiredInput2

The second input type of the dependent transformation rule

CallByType<TRequiredInput1, TRequiredInput2>(Func<TIn1, TIn2, TRequiredInput1>, Func<TIn1, TIn2, TRequiredInput2>)

Calls the transformation rules that match the given input type signature

public void CallByType<TRequiredInput1, TRequiredInput2>(Func<TIn1, TIn2, TRequiredInput1> selector1, Func<TIn1, TIn2, TRequiredInput2> selector2) where TRequiredInput1 : class where TRequiredInput2 : class

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

Type Parameters

TRequiredInput1

The first input type of the dependent transformation rules

TRequiredInput2

The second input type of the dependent transformation rules

Exceptions

ArgumentNullException

An ArgumentNullException is thrown when a null reference is passed to the selector1 parameter

ArgumentNullException

An ArgumentNullException is thrown when a null reference is passed to the selector2 parameter

CallFor(GeneralTransformationRule, Func<Computation, Tuple<TIn1, TIn2>>, bool)

Specify that the current transformation rule is called whenenver objects are transformed with the given transformation rule

public void CallFor(GeneralTransformationRule rule, Func<Computation, Tuple<TIn1, TIn2>> selector, bool needOutput)

Parameters

rule GeneralTransformationRule

The transformation rule that act as trigger for the current transformation rule

selector Func<Computation, Tuple<TIn1, TIn2>>

A method that selects the input parameters for the current transformation rule

needOutput bool

True, if the call must be made after the output of the trigger rule is created, otherwise false

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

CallFor(GeneralTransformationRule, Func<Computation, Tuple<TIn1, TIn2>>, Predicate<Computation>, bool)

Specify that the current transformation rule is called whenenver objects are transformed with the given transformation rule

public void CallFor(GeneralTransformationRule rule, Func<Computation, Tuple<TIn1, TIn2>> selector, Predicate<Computation> filter, bool needOutput)

Parameters

rule GeneralTransformationRule

The transformation rule that act as trigger for the current transformation rule

selector Func<Computation, Tuple<TIn1, TIn2>>

A method that selects the input parameters for the current transformation rule

filter Predicate<Computation>

A method to filter the objects where the reversed dependency is applicable

needOutput bool

True, if the call must be made after the output of the trigger rule is created, otherwise false

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

CallForEach(GeneralTransformationRule, Func<Computation, IEnumerable<Tuple<TIn1, TIn2>>>, bool)

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEach(GeneralTransformationRule rule, Func<Computation, IEnumerable<Tuple<TIn1, TIn2>>> selector, bool needOutput)

Parameters

rule GeneralTransformationRule

The transformation rule acting as trigger for the current transformation rule

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

A method that selects the input parameters for the current transformation rule

needOutput bool

True, if the call must be made after the output of the trigger rule is created, otherwise false

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

CallForEach(GeneralTransformationRule, Func<Computation, IEnumerable<Tuple<TIn1, TIn2>>>, Predicate<Computation>, bool)

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEach(GeneralTransformationRule rule, Func<Computation, IEnumerable<Tuple<TIn1, TIn2>>> selector, Predicate<Computation> filter, bool needOutput)

Parameters

rule GeneralTransformationRule

The transformation rule acting as trigger for the current transformation rule

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

A method that selects the input parameters for the current transformation rule

filter Predicate<Computation>

A method that filters the inputs of the transformation rule acting as trigger

needOutput bool

True, if the call must be made after the output of the trigger rule is created, otherwise false

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>>)

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>> selector) where TRequiredInput : class where TRequiredOutput : class

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The transformation rule acting as trigger for the current transformation rule

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

A method that selects the input parameters for the current transformation rule

Type Parameters

TRequiredInput

The input type parameter of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>>, Func<TRequiredInput, TRequiredOutput, bool>)

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>> selector, Func<TRequiredInput, TRequiredOutput, bool> filter) where TRequiredInput : class where TRequiredOutput : class

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The transformation rule acting as trigger for the current transformation rule

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

A method that selects the input parameters for the current transformation rule

filter Func<TRequiredInput, TRequiredOutput, bool>

A method that filters the inputs of the transformation rule acting as trigger

Type Parameters

TRequiredInput

The input type parameter of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>>)

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>> selector)

Parameters

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

A method that selects the input parameters for the current transformation rule

Type Parameters

TRequiredInput

The input type parameter of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>>, Func<TRequiredInput, TRequiredOutput, bool>)

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>> selector, Func<TRequiredInput, TRequiredOutput, bool> filter)

Parameters

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

A method that selects the input parameters for the current transformation rule

filter Func<TRequiredInput, TRequiredOutput, bool>

A method that filters the inputs of the transformation rule acting as trigger

Type Parameters

TRequiredInput

The input type parameter of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>>)

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>> selector) where TRequiredInput1 : class where TRequiredInput2 : class where TRequiredOutput : class

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The transformation rule acting as trigger for the current transformation rule

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

A method that selects the input parameters for the current transformation rule

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>)

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>> selector, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool> filter) where TRequiredInput1 : class where TRequiredInput2 : class where TRequiredOutput : class

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The transformation rule acting as trigger for the current transformation rule

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

A method that selects the input parameters for the current transformation rule

filter Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>

A method that filters the inputs of the transformation rule acting as trigger

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>>)

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>> selector)

Parameters

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

A method that selects the input parameters for the current transformation rule

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>)

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<Tuple<TIn1, TIn2>>> selector, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool> filter)

Parameters

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

A method that selects the input parameters for the current transformation rule

filter Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>

A method that filters the inputs of the transformation rule acting as trigger

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

CallForEach<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>>)

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEach<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>> selector) where TRequiredInput : class

Parameters

rule GeneralTransformationRule<TRequiredInput>

The transformation rule acting as trigger for the current transformation rule

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

A method that selects the input parameters for the current transformation rule

Type Parameters

TRequiredInput

The input type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

CallForEach<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>>, Func<TRequiredInput, bool>)

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEach<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>> selector, Func<TRequiredInput, bool> filter) where TRequiredInput : class

Parameters

rule GeneralTransformationRule<TRequiredInput>

The transformation rule acting as trigger for the current transformation rule

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

A method that selects the input parameters for the current transformation rule

filter Func<TRequiredInput, bool>

A method that filters the inputs of the transformation rule acting as trigger

Type Parameters

TRequiredInput

The input type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

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

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEach<TRequiredInput>(Func<TRequiredInput, IEnumerable<Tuple<TIn1, TIn2>>> selector)

Parameters

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

A method that selects the input parameters for the current transformation rule

Type Parameters

TRequiredInput

The input type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

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

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

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

Parameters

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

A method that selects the input parameters for the current transformation rule

filter Func<TRequiredInput, bool>

A method that filters the inputs of the transformation rule acting as trigger

Type Parameters

TRequiredInput

The input type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

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

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEach<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TRequiredInput1, TRequiredInput2, IEnumerable<Tuple<TIn1, TIn2>>> selector) where TRequiredInput1 : class where TRequiredInput2 : class

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The transformation rule acting as trigger for the current transformation rule

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

A method that selects the input parameters for the current transformation rule

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

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

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEach<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TRequiredInput1, TRequiredInput2, IEnumerable<Tuple<TIn1, TIn2>>> selector, Func<TRequiredInput1, TRequiredInput2, bool> filter) where TRequiredInput1 : class where TRequiredInput2 : class

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The transformation rule acting as trigger for the current transformation rule

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

A method that selects the input parameters for the current transformation rule

filter Func<TRequiredInput1, TRequiredInput2, bool>

A method that filters the inputs of the transformation rule acting as trigger

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

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

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

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

Parameters

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

A method that selects the input parameters for the current transformation rule

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

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

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

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

Parameters

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

A method that selects the input parameters for the current transformation rule

filter Func<TRequiredInput1, TRequiredInput2, bool>

A method that filters the inputs of the transformation rule acting as trigger

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

CallForOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, TIn1>, Func<TRequiredInput, TRequiredOutput, TIn2>)

Specify that the current transformation rule is called whenenver objects are transformed with the given transformation rule

public void CallForOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TRequiredOutput, TIn1> selector1, Func<TRequiredInput, TRequiredOutput, TIn2> selector2) where TRequiredInput : class where TRequiredOutput : class

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The transformation rule that act as trigger for the current transformation rule

selector1 Func<TRequiredInput, TRequiredOutput, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput, TRequiredOutput, TIn2>

A method that selects the second input parameter for the current transformation rule

Type Parameters

TRequiredInput

The input type of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

CallForOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, TIn1>, Func<TRequiredInput, TRequiredOutput, TIn2>, Func<TRequiredInput, TRequiredOutput, bool>)

Specify that the current transformation rule is called whenenver objects are transformed with the given transformation rule

public void CallForOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TRequiredOutput, TIn1> selector1, Func<TRequiredInput, TRequiredOutput, TIn2> selector2, Func<TRequiredInput, TRequiredOutput, bool> filter) where TRequiredInput : class where TRequiredOutput : class

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The transformation rule that act as trigger for the current transformation rule

selector1 Func<TRequiredInput, TRequiredOutput, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput, TRequiredOutput, TIn2>

A method that selects the second input parameter for the current transformation rule

filter Func<TRequiredInput, TRequiredOutput, bool>

A method to filter the objects where the reversed dependency is applicable

Type Parameters

TRequiredInput

The input type of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

CallForOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, TIn1>, Func<TRequiredInput, TRequiredOutput, TIn2>)

Specify that the current transformation rule is called whenenver the given types are transformed

public void CallForOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, TIn1> selector1, Func<TRequiredInput, TRequiredOutput, TIn2> selector2)

Parameters

selector1 Func<TRequiredInput, TRequiredOutput, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput, TRequiredOutput, TIn2>

A method that selects the second input parameter for the current transformation rule

Type Parameters

TRequiredInput

The input type of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

CallForOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, TIn1>, Func<TRequiredInput, TRequiredOutput, TIn2>, Func<TRequiredInput, TRequiredOutput, bool>)

Specify that the current transformation rule is called whenenver the given types are transformed

public void CallForOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, TIn1> selector1, Func<TRequiredInput, TRequiredOutput, TIn2> selector2, Func<TRequiredInput, TRequiredOutput, bool> filter)

Parameters

selector1 Func<TRequiredInput, TRequiredOutput, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput, TRequiredOutput, TIn2>

A method that selects the second input parameter for the current transformation rule

filter Func<TRequiredInput, TRequiredOutput, bool>

A method that filters the objects where the dependency should be applied

Type Parameters

TRequiredInput

The input type of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn1>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn2>)

Specify that the current transformation rule is called whenenver objects are transformed with the given transformation rule

public void CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn1> selector1, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn2> selector2) where TRequiredInput1 : class where TRequiredInput2 : class where TRequiredOutput : class

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The transformation rule that act as trigger for the current transformation rule

selector1 Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn2>

A method that selects the second input parameter for the current transformation rule

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

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

Specify that the current transformation rule is called whenenver objects are transformed with the given transformation rule

public void CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn1> selector1, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn2> selector2, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool> filter) where TRequiredInput1 : class where TRequiredInput2 : class where TRequiredOutput : class

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The transformation rule that act as trigger for the current transformation rule

selector1 Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn2>

A method that selects the second input parameter for the current transformation rule

filter Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>

A method to filter the objects where the reversed dependency is applicable

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn1>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn2>)

Specify that the current transformation rule is called whenenver the given types are transformed

public void CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn1> selector1, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn2> selector2)

Parameters

selector1 Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn2>

A method that selects the second input parameter for the current transformation rule

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

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

Specify that the current transformation rule is called whenenver the given types are transformed

public void CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn1> selector1, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn2> selector2, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool> filter)

Parameters

selector1 Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn2>

A method that selects the second input parameter for the current transformation rule

filter Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>

A method that filters the objects where the dependency should be applied

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

TRequiredOutput

The output type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

CallFor<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, TIn1>, Func<TRequiredInput, TIn2>)

Specify that the current transformation rule is called whenenver objects are transformed with the given transformation rule

public void CallFor<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TRequiredInput, TIn1> selector1, Func<TRequiredInput, TIn2> selector2) where TRequiredInput : class

Parameters

rule GeneralTransformationRule<TRequiredInput>

The transformation rule that act as trigger for the current transformation rule

selector1 Func<TRequiredInput, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput, TIn2>

A method that selects the second input parameter for the current transformation rule

Type Parameters

TRequiredInput

The input type of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

CallFor<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, TIn1>, Func<TRequiredInput, TIn2>, Func<TRequiredInput, bool>)

Specify that the current transformation rule is called whenenver objects are transformed with the given transformation rule

public void CallFor<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TRequiredInput, TIn1> selector1, Func<TRequiredInput, TIn2> selector2, Func<TRequiredInput, bool> filter) where TRequiredInput : class

Parameters

rule GeneralTransformationRule<TRequiredInput>

The transformation rule that act as trigger for the current transformation rule

selector1 Func<TRequiredInput, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput, TIn2>

A method that selects the second input parameter for the current transformation rule

filter Func<TRequiredInput, bool>

A method to filter the objects where the reversed dependency is applicable

Type Parameters

TRequiredInput

The input type of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

CallFor<TRequiredInput>(Func<TRequiredInput, TIn1>, Func<TRequiredInput, TIn2>)

Specify that the current transformation rule is called whenenver the given types are transformed

public void CallFor<TRequiredInput>(Func<TRequiredInput, TIn1> selector1, Func<TRequiredInput, TIn2> selector2)

Parameters

selector1 Func<TRequiredInput, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput, TIn2>

A method that selects the second input parameter for the current transformation rule

Type Parameters

TRequiredInput

The input type of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

CallFor<TRequiredInput>(Func<TRequiredInput, TIn1>, Func<TRequiredInput, TIn2>, Func<TRequiredInput, bool>)

Specify that the current transformation rule is called whenenver the given types are transformed

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

Parameters

selector1 Func<TRequiredInput, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput, TIn2>

A method that selects the second input parameter for the current transformation rule

filter Func<TRequiredInput, bool>

A method that filters the objects where the dependency should be applied

Type Parameters

TRequiredInput

The input type of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

CallFor<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TRequiredInput1, TRequiredInput2, TIn1>, Func<TRequiredInput1, TRequiredInput2, TIn2>)

Specify that the current transformation rule is called whenenver objects are transformed with the given transformation rule

public void CallFor<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TRequiredInput1, TRequiredInput2, TIn1> selector1, Func<TRequiredInput1, TRequiredInput2, TIn2> selector2) where TRequiredInput1 : class where TRequiredInput2 : class

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The transformation rule that act as trigger for the current transformation rule

selector1 Func<TRequiredInput1, TRequiredInput2, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput1, TRequiredInput2, TIn2>

A method that selects the second input parameter for the current transformation rule

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

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

Specify that the current transformation rule is called whenenver objects are transformed with the given transformation rule

public void CallFor<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TRequiredInput1, TRequiredInput2, TIn1> selector1, Func<TRequiredInput1, TRequiredInput2, TIn2> selector2, Func<TRequiredInput1, TRequiredInput2, bool> filter) where TRequiredInput1 : class where TRequiredInput2 : class

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The transformation rule that act as trigger for the current transformation rule

selector1 Func<TRequiredInput1, TRequiredInput2, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput1, TRequiredInput2, TIn2>

A method that selects the second input parameter for the current transformation rule

filter Func<TRequiredInput1, TRequiredInput2, bool>

A method to filter the objects where the reversed dependency is applicable

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

CallFor<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, TIn1>, Func<TRequiredInput1, TRequiredInput2, TIn2>)

Specify that the current transformation rule is called whenenver the given types are transformed

public void CallFor<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, TIn1> selector1, Func<TRequiredInput1, TRequiredInput2, TIn2> selector2) where TRequiredInput1 : class where TRequiredInput2 : class

Parameters

selector1 Func<TRequiredInput1, TRequiredInput2, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput1, TRequiredInput2, TIn2>

A method that selects the second input parameter for the current transformation rule

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

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

Specify that the current transformation rule is called whenenver the given types are transformed

public void CallFor<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, TIn1> selector1, Func<TRequiredInput1, TRequiredInput2, TIn2> selector2, Func<TRequiredInput1, TRequiredInput2, bool> filter) where TRequiredInput1 : class where TRequiredInput2 : class

Parameters

selector1 Func<TRequiredInput1, TRequiredInput2, TIn1>

A method that selects the first input parameter for the current transformation rule

selector2 Func<TRequiredInput1, TRequiredInput2, TIn2>

A method that selects the second input parameter for the current transformation rule

filter Func<TRequiredInput1, TRequiredInput2, bool>

A method that filters the objects where the dependency should be applied

Type Parameters

TRequiredInput1

The first input type parameter of the transformation rule acting as trigger

TRequiredInput2

The second input type parameter of the transformation rule acting as trigger

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector1 parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector2 parameter is passed a null instance

CallMany(GeneralTransformationRule, Func<TIn1, TIn2, IEnumerable<object[]>>)

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

public ITransformationRuleDependency CallMany(GeneralTransformationRule rule, Func<TIn1, TIn2, IEnumerable<object[]>> selector)

Parameters

rule GeneralTransformationRule

The dependent transformation rule

selector Func<TIn1, TIn2, IEnumerable<object[]>>

A method that selects the inputs for the dependent computations

Returns

ITransformationRuleDependency

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

CallManyByType<TRequiredInput>(Func<TIn1, TIn2, IEnumerable<TRequiredInput>>)

Calls the transformation rules that match the given input type signature multiple times

public void CallManyByType<TRequiredInput>(Func<TIn1, TIn2, IEnumerable<TRequiredInput>> selector) where TRequiredInput : class

Parameters

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

A method that selects the input parameter for the dependent transformation rules

Type Parameters

TRequiredInput

The type of the input parameter of the dependent transformation rules

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

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

Calls the transformation rules that match the given input type signature multiple times

public void CallManyByType<TRequiredInput1, TRequiredInput2>(Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector) where TRequiredInput1 : class where TRequiredInput2 : class

Parameters

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

A method that selects the input parameters for the dependent transformation rules

Type Parameters

TRequiredInput1

The type of the first input parameter of the dependent transformation rules

TRequiredInput2

The type of the second input parameter of the dependent transformation rules

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

CallMany<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn1, TIn2, IEnumerable<TRequiredInput>>)

Calls the given transformation rule multiple times

public ITransformationRuleDependency CallMany<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn1, TIn2, IEnumerable<TRequiredInput>> selector) where TRequiredInput : class

Parameters

rule GeneralTransformationRule<TRequiredInput>

The transformation rule that needs to be called

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

A method that selects the input parameter for the dependent transformation rules

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The type of the input parameter of the dependent transformation rules

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

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

Calls the given transformation rule multiple times

public ITransformationRuleDependency CallMany<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector) where TRequiredInput1 : class where TRequiredInput2 : class

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The transformation rule that needs to be called

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

A method that selects the input parameters for the dependent transformation rules

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The type of the first input parameter of the dependent transformation rules

TRequiredInput2

The type of the second input parameter of the dependent transformation rules

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

Call<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn1, TIn2, TRequiredInput>)

Calls the given transformation rule

public ITransformationRuleDependency Call<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn1, TIn2, TRequiredInput> selector) where TRequiredInput : class

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn1, TIn2, TRequiredInput>

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

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The type of the dependent transformation rules input argument

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

Call<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>)

Calls the given transformation rule with the same inputs

public ITransformationRuleDependency Call<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule) where TRequiredInput1 : class where TRequiredInput2 : class

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The transformation rule that needs to be called

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input type of the dependent transformation rule

TRequiredInput2

The second input type of the dependent transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

Call<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn1, TIn2, TRequiredInput1>, Func<TIn1, TIn2, TRequiredInput2>)

Calls the given transformation rule

public ITransformationRuleDependency Call<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn1, TIn2, TRequiredInput1> selector1, Func<TIn1, TIn2, TRequiredInput2> selector2) where TRequiredInput1 : class where TRequiredInput2 : class

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The transformation rule that needs to be called

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

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The type of the first input argument of the dependent transformation rule

TRequiredInput2

The type of the second input argument of the dependent transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown when a null reference is passed to the selector1 parameter

ArgumentNullException

An ArgumentNullException is thrown when a null reference is passed to the selector2 parameter

MarkInstantiatingFor(GeneralTransformationRule, Func<TIn1, TIn2, bool>)

Marks the current transformation rule instantiating for the specified rule

public void MarkInstantiatingFor(GeneralTransformationRule rule, Func<TIn1, TIn2, bool> filter)

Parameters

rule GeneralTransformationRule

The transformation rule

filter Func<TIn1, TIn2, bool>

The filter that should filter the inputs where this transformation rule is marked instantiating

Require(GeneralTransformationRule, Func<TIn1, TIn2, object[]>)

Requires the transformation rule with the given type

public ITransformationRuleDependency Require(GeneralTransformationRule rule, Func<TIn1, TIn2, object[]> selector)

Parameters

rule GeneralTransformationRule

The dependent transformation rule

selector Func<TIn1, TIn2, object[]>

A method that selects the first input for the dependent transformations

Returns

ITransformationRuleDependency

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

Require(GeneralTransformationRule<TIn1, TIn2>, Func<TIn1, TIn2, bool>)

Requires the given transformation rule with the same input types and a filter

public void Require(GeneralTransformationRule<TIn1, TIn2> rule, Func<TIn1, TIn2, bool> filter)

Parameters

rule GeneralTransformationRule<TIn1, TIn2>

The transformation rule

filter Func<TIn1, TIn2, bool>

The filter method

RequireByType<TRequiredInput>(Func<TIn1, TIn2, TRequiredInput>)

Requires all transformation rules that transform items from S1, S2 to T

public void RequireByType<TRequiredInput>(Func<TIn1, TIn2, TRequiredInput> selector) where TRequiredInput : class

Parameters

selector Func<TIn1, TIn2, TRequiredInput>

A method that selects the input for the dependent transformations

Type Parameters

TRequiredInput

The first input argument type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

RequireByType<TRequiredInput1, TRequiredInput2>()

Requires all transformation rules that transform items from S1 and S2 to T

public void RequireByType<TRequiredInput1, TRequiredInput2>() where TRequiredInput1 : class where TRequiredInput2 : class

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument 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>(Func<TIn1, TIn2, TRequiredInput1>, Func<TIn1, TIn2, TRequiredInput2>)

Requires all transformation rules that transform items from S1, S2 to T

public void RequireByType<TRequiredInput1, TRequiredInput2>(Func<TIn1, TIn2, TRequiredInput1> selector1, Func<TIn1, TIn2, TRequiredInput2> selector2) where TRequiredInput1 : class where TRequiredInput2 : class

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

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The first input argument type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown when a null reference is passed to the selector1 parameter

ArgumentNullException

An ArgumentNullException is thrown when a null reference is passed to the selector2 parameter

RequireMany(GeneralTransformationRule, Func<TIn1, TIn2, IEnumerable<object[]>>)

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

public ITransformationRuleDependency RequireMany(GeneralTransformationRule rule, Func<TIn1, TIn2, IEnumerable<object[]>> selector)

Parameters

rule GeneralTransformationRule

The dependent transformation rule

selector Func<TIn1, TIn2, IEnumerable<object[]>>

A method that selects the inputs for the dependent computations

Returns

ITransformationRuleDependency

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

RequireManyByType<TRequiredInput>(Func<TIn1, TIn2, IEnumerable<TRequiredInput>>)

Requires all transformation rules that transform S1, S2 to T with all of the specified objects

public void RequireManyByType<TRequiredInput>(Func<TIn1, TIn2, IEnumerable<TRequiredInput>> selector) where TRequiredInput : class

Parameters

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

A method that selects the inputs for the dependent transformations

Type Parameters

TRequiredInput

The first input argument type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

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

Requires all transformation rules that transform S1, S2 to T with all of the specified objects

public void RequireManyByType<TRequiredInput1, TRequiredInput2>(Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector) where TRequiredInput1 : class where TRequiredInput2 : class

Parameters

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

A method that selects the inputs for the dependent transformations

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

RequireMany<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn1, TIn2, IEnumerable<TRequiredInput>>)

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

public ITransformationRuleDependency RequireMany<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn1, TIn2, IEnumerable<TRequiredInput>> selector) where TRequiredInput : class

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

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

A method that selects the inputs for the dependent transformations

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The first input argument type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

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

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

public ITransformationRuleDependency RequireMany<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn1, TIn2, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector) where TRequiredInput1 : class where TRequiredInput2 : class

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The dependent transformation rule

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

A method that selects the inputs for the dependent transformations

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

Require<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn1, TIn2, TRequiredInput>)

Requires the transformation rule with the given type

public ITransformationRuleDependency Require<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn1, TIn2, TRequiredInput> selector) where TRequiredInput : class

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn1, TIn2, TRequiredInput>

A method that selects the input for the dependent transformations

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The first input argument type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown if the selector parameter is passed a null instance

Require<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn1, TIn2, TRequiredInput1>, Func<TIn1, TIn2, TRequiredInput2>)

Requires the transformation rule with the given type

public ITransformationRuleDependency Require<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn1, TIn2, TRequiredInput1> selector1, Func<TIn1, TIn2, TRequiredInput2> selector2) where TRequiredInput1 : class where TRequiredInput2 : class

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

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

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

ArgumentNullException

An ArgumentNullException is thrown when a null reference is passed to the selector1 parameter

ArgumentNullException

An ArgumentNullException is thrown when a null reference is passed to the selector2 parameter

Rule<TRule>()

Gets the first rule within the rules associated transformation that has the given rule type

public TRule Rule<TRule>() where TRule : GeneralTransformationRule

Returns

TRule

The first transformation rule within the associated transformation or null, if there is none.

Type Parameters

TRule

The type of the transformation rule that is looked for

ToString()

Gets the name of the transformation rule

public override string ToString()

Returns

string

The name of the transformation rule

WithPattern(ITransformationRulePattern<TIn1, TIn2>)

Registers the given pattern for the current transformation rule

public void WithPattern(ITransformationRulePattern<TIn1, TIn2> pattern)

Parameters

pattern ITransformationRulePattern<TIn1, TIn2>

The pattern that should be applied based on the current transformation rule

WithPattern(Func<ITransformationContext, INotifyEnumerable<Tuple<TIn1, TIn2>>>)

Registers the given incremental pattern for the current transformation rule

public void WithPattern(Func<ITransformationContext, INotifyEnumerable<Tuple<TIn1, TIn2>>> patternCreator)

Parameters

patternCreator Func<ITransformationContext, INotifyEnumerable<Tuple<TIn1, TIn2>>>

The relation pattern that should be applied on the current transformation rule

WithPattern(Func<ITransformationContext, IEnumerable<Tuple<TIn1, TIn2>>>)

Registers the given incremental pattern for the current transformation rule

public void WithPattern(Func<ITransformationContext, IEnumerable<Tuple<TIn1, TIn2>>> patternCreator)

Parameters

patternCreator Func<ITransformationContext, IEnumerable<Tuple<TIn1, TIn2>>>

The relation pattern that should be applied on the current transformation rule