Show / Hide Table of Contents

Class TransformationRuleBase<TIn, TOut>

Defines a transformation rule of a transformation that has one input argument and an output

Inheritance
object
GeneralTransformationRule
GeneralTransformationRule<TIn>
TransformationRuleBase<TIn, TOut>
TraceEntryGroup<TKey, TOut>
TransformationRule<TIn, TOut>
Inherited Members
GeneralTransformationRule<TIn>.MarkInstantiatingFor(GeneralTransformationRule, Predicate<TIn>)
GeneralTransformationRule<TIn>.Rule<TRule>()
GeneralTransformationRule<TIn>.WithPattern(ITransformationRulePattern<TIn>)
GeneralTransformationRule<TIn>.WithPattern(Func<ITransformationContext, INotifyEnumerable<TIn>>)
GeneralTransformationRule<TIn>.WithPattern(Func<ITransformationContext, IEnumerable<TIn>>)
GeneralTransformationRule<TIn>.RequireByType<TRequiredInput>()
GeneralTransformationRule<TIn>.RequireByType<TRequiredInput>(Func<TIn, TRequiredInput>)
GeneralTransformationRule<TIn>.RequireByType<TRequiredInput1, TRequiredInput2>(Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>)
GeneralTransformationRule<TIn>.Require<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TRequiredInput>)
GeneralTransformationRule<TIn>.Require<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>)
GeneralTransformationRule<TIn>.RequireManyByType<TRequiredInput>(Func<TIn, IEnumerable<TRequiredInput>>)
GeneralTransformationRule<TIn>.RequireManyByType<TRequiredInput1, TRequiredInput2>(Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>)
GeneralTransformationRule<TIn>.Require(GeneralTransformationRule, Func<TIn, object[]>)
GeneralTransformationRule<TIn>.Require<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Predicate<TIn>)
GeneralTransformationRule<TIn>.Require<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TRequiredInput>, Predicate<TIn>)
GeneralTransformationRule<TIn>.Require<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>, Predicate<TIn>)
GeneralTransformationRule<TIn>.RequireMany(GeneralTransformationRule, Func<TIn, IEnumerable<object[]>>)
GeneralTransformationRule<TIn>.RequireMany<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, IEnumerable<TRequiredInput>>)
GeneralTransformationRule<TIn>.RequireMany<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>)
GeneralTransformationRule<TIn>.Call(GeneralTransformationRule, Func<TIn, object[]>)
GeneralTransformationRule<TIn>.CallMany(GeneralTransformationRule, Func<TIn, IEnumerable<object[]>>)
GeneralTransformationRule<TIn>.CallByType<TRequiredInput>(Func<TIn, TRequiredInput>)
GeneralTransformationRule<TIn>.CallByType<TRequiredInput1, TRequiredInput2>(Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>)
GeneralTransformationRule<TIn>.Call<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TRequiredInput>)
GeneralTransformationRule<TIn>.Call<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>)
GeneralTransformationRule<TIn>.Call<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Predicate<TIn>)
GeneralTransformationRule<TIn>.Call<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TRequiredInput>, Predicate<TIn>)
GeneralTransformationRule<TIn>.Call<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>, Predicate<TIn>)
GeneralTransformationRule<TIn>.CallManyByType<TRequiredInput>(Func<TIn, IEnumerable<TRequiredInput>>)
GeneralTransformationRule<TIn>.CallManyByType<TRequiredInput1, TRequiredInput2>(Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>)
GeneralTransformationRule<TIn>.CallMany<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, IEnumerable<TRequiredInput>>)
GeneralTransformationRule<TIn>.CallMany<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>)
GeneralTransformationRule<TIn>.InputType
GeneralTransformationRule<TIn>.CallFor<TRequiredInput>(Func<TRequiredInput, TIn>)
GeneralTransformationRule<TIn>.CallFor<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, TIn>)
GeneralTransformationRule<TIn>.CallFor<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, TIn>)
GeneralTransformationRule<TIn>.CallFor<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TRequiredInput1, TRequiredInput2, TIn>)
GeneralTransformationRule<TIn>.CallFor<TRequiredInput>(Func<TRequiredInput, TIn>, Predicate<TRequiredInput>)
GeneralTransformationRule<TIn>.CallFor<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, TIn>, Func<TRequiredInput1, TRequiredInput2, bool>)
GeneralTransformationRule<TIn>.CallFor<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, TIn>, Predicate<TRequiredInput>)
GeneralTransformationRule<TIn>.CallFor<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TRequiredInput1, TRequiredInput2, TIn>, Func<TRequiredInput1, TRequiredInput2, bool>)
GeneralTransformationRule<TIn>.CallForEach<TRequiredInput>(Func<TRequiredInput, IEnumerable<TIn>>)
GeneralTransformationRule<TIn>.CallForEach<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>)
GeneralTransformationRule<TIn>.CallForEach<TRequiredInput>(Func<TRequiredInput, IEnumerable<TIn>>, Predicate<TRequiredInput>)
GeneralTransformationRule<TIn>.CallForEach<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>, Func<TRequiredInput1, TRequiredInput2, bool>)
GeneralTransformationRule<TIn>.CallForEach<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, IEnumerable<TIn>>)
GeneralTransformationRule<TIn>.CallForEach<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>)
GeneralTransformationRule<TIn>.CallForEach<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, IEnumerable<TIn>>, Predicate<TRequiredInput>)
GeneralTransformationRule<TIn>.CallForEach<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>, Func<TRequiredInput1, TRequiredInput2, bool>)
GeneralTransformationRule<TIn>.CallForOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, TIn>)
GeneralTransformationRule<TIn>.CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn>)
GeneralTransformationRule<TIn>.CallForOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, TIn>)
GeneralTransformationRule<TIn>.CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn>)
GeneralTransformationRule<TIn>.CallForOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, TIn>, Func<TRequiredInput, TRequiredOutput, bool>)
GeneralTransformationRule<TIn>.CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>)
GeneralTransformationRule<TIn>.CallForOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, TIn>, Func<TRequiredInput, TRequiredOutput, bool>)
GeneralTransformationRule<TIn>.CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>)
GeneralTransformationRule<TIn>.CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, IEnumerable<TIn>>)
GeneralTransformationRule<TIn>.CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<TIn>>)
GeneralTransformationRule<TIn>.CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, IEnumerable<TIn>>, Func<TRequiredInput, TRequiredOutput, bool>)
GeneralTransformationRule<TIn>.CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<TIn>>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>)
GeneralTransformationRule<TIn>.CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, IEnumerable<TIn>>)
GeneralTransformationRule<TIn>.CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<TIn>>)
GeneralTransformationRule<TIn>.CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, IEnumerable<TIn>>, Func<TRequiredInput, TRequiredOutput, bool>)
GeneralTransformationRule<TIn>.CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<TIn>>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>)
GeneralTransformationRule<TIn>.TraceInput<TKey>(Func<TIn, TKey>)
GeneralTransformationRule<TIn>.TraceInput<TKey>(TraceEntryGroup<TKey, TIn>, Func<TIn, TKey>)
GeneralTransformationRule<TIn>.CallFor(GeneralTransformationRule, Func<Computation, TIn>, bool)
GeneralTransformationRule<TIn>.CallFor(GeneralTransformationRule, Func<Computation, TIn>, Predicate<Computation>, bool)
GeneralTransformationRule<TIn>.CallForEach(GeneralTransformationRule, Func<Computation, IEnumerable<TIn>>, bool)
GeneralTransformationRule<TIn>.CallForEach(GeneralTransformationRule, Func<Computation, IEnumerable<TIn>>, Predicate<Computation>, bool)
GeneralTransformationRule<TIn>.ToString()
GeneralTransformationRule.RegisterDependencies()
GeneralTransformationRule.CreateComputation(object[], IComputationContext)
GeneralTransformationRule.NeedDependenciesForOutputCreation
GeneralTransformationRule.Transformation
GeneralTransformationRule.Dependencies
GeneralTransformationRule.OutputDelayLevel
GeneralTransformationRule.TransformationDelayLevel
GeneralTransformationRule.IsUnique
GeneralTransformationRule.BaseRule
GeneralTransformationRule.IsInstantiating(Computation)
GeneralTransformationRule.HasCompliantInput(Computation)
GeneralTransformationRule.Require(GeneralTransformationRule)
GeneralTransformationRule.Call(GeneralTransformationRule)
GeneralTransformationRule.MarkInstantiatingFor(GeneralTransformationRule)
GeneralTransformationRule.MarkInstantiatingFor(GeneralTransformationRule, Predicate<Computation>)
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
Namespace: NMF.Transformations
Assembly: NMF.Transformations.dll
Syntax
public abstract class TransformationRuleBase<TIn, TOut> : GeneralTransformationRule<TIn>
Type Parameters
Name Description
TIn

The type of the input argument

TOut

The type of the output

Properties

| Edit this page View Source

OutputType

Gets the output type of this transformation rule

Declaration
public override sealed Type OutputType { get; }
Property Value
Type Description
Type
Overrides
GeneralTransformationRule.OutputType

Methods

| Edit this page View Source

CallByType<TRequiredInput, TRequiredOutput>(Action<TOut, TRequiredOutput>)

Calls all transformation rules that transform items with the specified signature after the current transformation rule

Declaration
public void CallByType<TRequiredInput, TRequiredOutput>(Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
Action<TOut, TRequiredOutput> persistor

A method that persists the result of the dependent transformations

Type Parameters
Name Description
TRequiredInput

The input argument type of the dependent transformations

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

| Edit this page View Source

CallByType<TRequiredInput, TRequiredOutput>(Func<TIn, TRequiredInput>, Action<TOut, TRequiredOutput>)

Calls all transformation rules that transform items with the specified signature after the current transformation rule

Declaration
public void CallByType<TRequiredInput, TRequiredOutput>(Func<TIn, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
Func<TIn, TRequiredInput> selector

A method that selects the input for the dependent transformations

Action<TOut, TRequiredOutput> persistor

A method that persists the result of the dependent transformations

Type Parameters
Name Description
TRequiredInput

The input argument type of the dependent transformations

TRequiredOutput

The output type of the dependent transformations

Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

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

Calls all transformation rules that transform items with the specified signature after the current transformation rule

Declaration
public void CallByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
Func<TIn, TRequiredInput1> selector1

A method that selects the first input for the dependent transformations

Func<TIn, TRequiredInput2> selector2

A method that selects the second input for the dependent transformations

Action<TOut, TRequiredOutput> persistor

A method that persists the result of the dependent transformations

Type Parameters
Name Description
TRequiredInput1

The first input argument type of the dependent transformation rule

TRequiredInput2

The second input argument type of the dependent transformation rule

TRequiredOutput

The output type of the dependent transformations

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, IEnumerable<TIn>>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

Declaration
public void CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, IEnumerable<TIn>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput, TRequiredOutput> rule

The dependent transformation rule

Func<TRequiredInput, IEnumerable<TIn>> selector

A method that selects the inputs for this transformation rule

Action<TRequiredOutput, IEnumerable<TOut>> persistor

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

Type Parameters
Name Description
TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, IEnumerable<TIn>>, Predicate<TRequiredInput>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

Declaration
public void CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, IEnumerable<TIn>> selector, Predicate<TRequiredInput> filter, Action<TRequiredOutput, IEnumerable<TOut>> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput, TRequiredOutput> rule

The dependent transformation rule

Func<TRequiredInput, IEnumerable<TIn>> selector

A method that selects the input for this transformation rule

Predicate<TRequiredInput> filter

A method that filters the applicable instances of S

Action<TRequiredOutput, IEnumerable<TOut>> persistor

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

Type Parameters
Name Description
TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<TIn>>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

Declaration
public void CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<TIn>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)
Parameters
Type Name Description
Func<TRequiredInput, IEnumerable<TIn>> selector

A method that selects the inputs for this transformation rule

Action<TRequiredOutput, IEnumerable<TOut>> persistor

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

Type Parameters
Name Description
TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<TIn>>, Predicate<TRequiredInput>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

Declaration
public void CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<TIn>> selector, Predicate<TRequiredInput> filter, Action<TRequiredOutput, IEnumerable<TOut>> persistor)
Parameters
Type Name Description
Func<TRequiredInput, IEnumerable<TIn>> selector

A method that selects the input for this transformation rule

Predicate<TRequiredInput> filter

A method that filters the applicable instances of S

Action<TRequiredOutput, IEnumerable<TOut>> persistor

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

Type Parameters
Name Description
TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

Declaration
public void CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule

The dependent transformation rule

Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector

A method that selects the inputs for this transformation rule

Action<TRequiredOutput, IEnumerable<TOut>> persistor

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

Type Parameters
Name Description
TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>, Func<TRequiredInput1, TRequiredInput2, bool>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

Declaration
public void CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector, Func<TRequiredInput1, TRequiredInput2, bool> filter, Action<TRequiredOutput, IEnumerable<TOut>> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule

The dependent transformation rule

Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector

A method that selects the input for this transformation rule

Func<TRequiredInput1, TRequiredInput2, bool> filter

A method that filters the applicable instances of S

Action<TRequiredOutput, IEnumerable<TOut>> persistor

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

Type Parameters
Name Description
TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

Declaration
public void CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)
Parameters
Type Name Description
Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector

A method that selects the inputs for this transformation rule

Action<TRequiredOutput, IEnumerable<TOut>> persistor

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

Type Parameters
Name Description
TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>, Func<TRequiredInput1, TRequiredInput2, bool>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

Declaration
public void CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector, Func<TRequiredInput1, TRequiredInput2, bool> filter, Action<TRequiredOutput, IEnumerable<TOut>> persistor)
Parameters
Type Name Description
Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector

A method that selects the input for this transformation rule

Func<TRequiredInput1, TRequiredInput2, bool> filter

A method that filters the applicable instances of S

Action<TRequiredOutput, IEnumerable<TOut>> persistor

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

Type Parameters
Name Description
TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

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

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

Declaration
public void CallFor<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TIn> selector, Action<TOut, TRequiredOutput> persistor) where TRequiredInput : class where TRequiredOutput : class
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput, TRequiredOutput> rule

The dependent transformation rule

Func<TRequiredInput, TIn> selector

A method that selects the input for this transformation rule

Action<TOut, TRequiredOutput> persistor

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

Type Parameters
Name Description
TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

CallFor<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TIn>, Action<TOut, TRequiredOutput>, Predicate<TRequiredInput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

Declaration
public void CallFor<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TIn> selector, Action<TOut, TRequiredOutput> persistor, Predicate<TRequiredInput> filter)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput, TRequiredOutput> rule

The dependent transformation rule

Func<TRequiredInput, TIn> selector

A method that selects the input for this transformation rule

Action<TOut, TRequiredOutput> persistor

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

Predicate<TRequiredInput> filter

A method that filters the applicable instances of S

Type Parameters
Name Description
TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TIn>, Action<TOut, TRequiredOutput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

Declaration
public void CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TIn> selector, Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
Func<TRequiredInput, TIn> selector

A method that selects the input for this transformation rule

Action<TOut, TRequiredOutput> persistor

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

Type Parameters
Name Description
TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TIn>, Action<TOut, TRequiredOutput>, Predicate<TRequiredInput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

Declaration
public void CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TIn> selector, Action<TOut, TRequiredOutput> persistor, Predicate<TRequiredInput> filter)
Parameters
Type Name Description
Func<TRequiredInput, TIn> selector

A method that selects the input for this transformation rule

Action<TOut, TRequiredOutput> persistor

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

Predicate<TRequiredInput> filter

A method that filters the applicable instances of S

Type Parameters
Name Description
TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

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

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

Declaration
public void CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, TIn> selector, Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule

The dependent transformation rule

Func<TRequiredInput1, TRequiredInput2, TIn> selector

A method that selects the input for this transformation rule

Action<TOut, TRequiredOutput> persistor

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

Type Parameters
Name Description
TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

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

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

Declaration
public void CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, TIn> selector, Action<TOut, TRequiredOutput> persistor, Func<TRequiredInput1, TRequiredInput2, bool> filter)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule

The dependent transformation rule

Func<TRequiredInput1, TRequiredInput2, TIn> selector

A method that selects the input for this transformation rule

Action<TOut, TRequiredOutput> persistor

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

Func<TRequiredInput1, TRequiredInput2, bool> filter

A method that filters the applicable instances of S

Type Parameters
Name Description
TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

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

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

Declaration
public void CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TIn> selector, Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
Func<TRequiredInput1, TRequiredInput2, TIn> selector

A method that selects the input for this transformation rule

Action<TOut, TRequiredOutput> persistor

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

Type Parameters
Name Description
TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

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

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

Declaration
public void CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TIn> selector, Action<TOut, TRequiredOutput> persistor, Func<TRequiredInput1, TRequiredInput2, bool> filter)
Parameters
Type Name Description
Func<TRequiredInput1, TRequiredInput2, TIn> selector

A method that selects the input for this transformation rule

Action<TOut, TRequiredOutput> persistor

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

Func<TRequiredInput1, TRequiredInput2, bool> filter

A method that filters the applicable instances of S

Type Parameters
Name Description
TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

CallManyByType<TRequiredInput, TRequiredOutput>(Func<TIn, 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

Declaration
public void CallManyByType<TRequiredInput, TRequiredOutput>(Func<TIn, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
Type Name Description
Func<TIn, IEnumerable<TRequiredInput>> selector

A method that selects the inputs for the dependent transformations

Action<TOut, IEnumerable<TRequiredOutput>> persistor

A method that persists the result of the dependent transformation

Type Parameters
Name Description
TRequiredInput

The input argument type of the dependent transformations

TRequiredOutput

The output type of the dependent transformations

Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

CallManyByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, 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

Declaration
public void CallManyByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
Type Name Description
Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector

A method that selects the inputs for the dependent transformations

Action<TOut, IEnumerable<TRequiredOutput>> persistor

A method that persists the result of the dependent transformation

Type Parameters
Name Description
TRequiredInput1

The first input argument type of the dependent transformation rule

TRequiredInput2

The second input argument type of the dependent transformation rule

TRequiredOutput

The output type of the dependent transformations

Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, 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

Declaration
public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TOut, IEnumerable<TRequiredInput>> selector)
Parameters
Type Name Description
GeneralTransformationRule<TRequiredInput> rule

The dependent transformation rule

Func<TIn, TOut, IEnumerable<TRequiredInput>> selector

A method that selects the inputs for the dependent transformation rule

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput

The input argument for the called transformation

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TOut, IEnumerable<TRequiredInput>>, Func<TIn, 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

Declaration
public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TOut, IEnumerable<TRequiredInput>> selector, Func<TIn, TOut, bool> filter)
Parameters
Type Name Description
GeneralTransformationRule<TRequiredInput> rule

The dependent transformation rule

Func<TIn, TOut, IEnumerable<TRequiredInput>> selector

A method that selects the inputs for the dependent transformation rule

Func<TIn, TOut, bool> filter

A method that filters the cases where the dependency should fire

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput

The input argument for the called transformation

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, 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

Declaration
public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector)
Parameters
Type Name Description
GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule

The dependent transformation rule

Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector

A method that selects the inputs for the dependent transformation rule

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput1

The first input argument for the called transformation

TRequiredInput2

The second input argument for the called transformation

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Func<TIn, 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

Declaration
public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Func<TIn, TOut, bool> filter)
Parameters
Type Name Description
GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule

The dependent transformation rule

Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector

A method that selects the inputs for the dependent transformation rule

Func<TIn, TOut, bool> filter

A method that filters the cases where the dependency should fire

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput1

The first input argument for the called transformation

TRequiredInput2

The second input argument for the called transformation

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

CallMany<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TIn, 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

Declaration
public ITransformationRuleDependency CallMany<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput, TRequiredOutput> rule

The dependent transformation rule

Func<TIn, IEnumerable<TRequiredInput>> selector

A method that selects the inputs for the dependent transformations

Action<TOut, IEnumerable<TRequiredOutput>> persistor

A method that persists the result of the dependent transformation

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

CallMany<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TIn, 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

Declaration
public ITransformationRuleDependency CallMany<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule

The dependent transformation rule

Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector

A method that selects the inputs for the dependent transformations

Action<TOut, IEnumerable<TRequiredOutput>> persistor

A method that persists the result of the dependent transformation

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput1

The first input argument type of the dependent transformation rule

TRequiredInput2

The second input argument type of the dependent transformation rule

TRequiredOutput

The output type of the dependent transformation

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

CallOutputSensitive(GeneralTransformationRule<TIn, TOut>)

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

Declaration
public ITransformationRuleDependency CallOutputSensitive(GeneralTransformationRule<TIn, TOut> rule)
Parameters
Type Name Description
GeneralTransformationRule<TIn, TOut> rule

The dependent transformation rule

Returns
Type Description
ITransformationRuleDependency
Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

CallOutputSensitive(GeneralTransformationRule<TIn, TOut>, Func<TIn, TOut, bool>)

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

Declaration
public ITransformationRuleDependency CallOutputSensitive(GeneralTransformationRule<TIn, TOut> rule, Func<TIn, TOut, bool> filter)
Parameters
Type Name Description
GeneralTransformationRule<TIn, TOut> rule

The dependent transformation rule

Func<TIn, TOut, bool> filter

A method that filters the cases where the dependency should fire

Returns
Type Description
ITransformationRuleDependency
Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TOut, bool>)

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

Declaration
public ITransformationRuleDependency CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TOut, bool> filter)
Parameters
Type Name Description
GeneralTransformationRule<TRequiredInput> rule

The dependent transformation rule

Func<TIn, TOut, bool> filter

A method that filters the cases where the dependency should fire

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput

The input argument for the called transformation

Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TOut, TRequiredInput>)

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

Declaration
public ITransformationRuleDependency CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TOut, TRequiredInput> selector)
Parameters
Type Name Description
GeneralTransformationRule<TRequiredInput> rule

The dependent transformation rule

Func<TIn, TOut, TRequiredInput> selector

A method that selects the input for the dependent transformation rule

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput

The input argument for the called transformation

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TOut, TRequiredInput>, Func<TIn, TOut, bool>)

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

Declaration
public ITransformationRuleDependency CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TOut, TRequiredInput> selector, Func<TIn, TOut, bool> filter)
Parameters
Type Name Description
GeneralTransformationRule<TRequiredInput> rule

The dependent transformation rule

Func<TIn, TOut, TRequiredInput> selector

A method that selects the input for the dependent transformation rule

Func<TIn, TOut, bool> filter

A method that filters the cases where the dependency should fire

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput

The input argument for the called transformation

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

CallOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, TOut, TRequiredInput1>, Func<TIn, TOut, TRequiredInput2>)

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

Declaration
public ITransformationRuleDependency CallOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn, TOut, TRequiredInput1> selector1, Func<TIn, TOut, TRequiredInput2> selector2)
Parameters
Type Name Description
GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule

The dependent transformation rule

Func<TIn, TOut, TRequiredInput1> selector1

A method that selects the first input for the dependent transformation

Func<TIn, TOut, TRequiredInput2> selector2

A method that selects the second input for the dependent transformation

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput1

The first input argument for the called transformation

TRequiredInput2

The second input argument for the called transformation

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

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

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

Declaration
public ITransformationRuleDependency CallOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn, TOut, TRequiredInput1> selector1, Func<TIn, TOut, TRequiredInput2> selector2, Func<TIn, TOut, bool> filter)
Parameters
Type Name Description
GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule

The dependent transformation rule

Func<TIn, TOut, TRequiredInput1> selector1

A method that selects the first input for the dependent transformation

Func<TIn, TOut, TRequiredInput2> selector2

A method that selects the second input for the dependent transformation

Func<TIn, TOut, bool> filter

A method that filters the cases where the dependency should fire

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput1

The first input argument for the called transformation

TRequiredInput2

The second input argument for the called transformation

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

Call<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Action<TOut, TRequiredOutput>)

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

Declaration
public ITransformationRuleDependency Call<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput, TRequiredOutput> rule

The dependent transformation rule

Action<TOut, TRequiredOutput> persistor

A method that persists the result of the dependent transformation

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput

The 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
Type Condition
ArgumentNullException

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

| Edit this page View Source

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

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

Declaration
public ITransformationRuleDependency Call<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput, TRequiredOutput> rule

The dependent transformation rule

Func<TIn, TRequiredInput> selector

A method that selects the input for the dependent transformations

Action<TOut, TRequiredOutput> persistor

A method that persists the result of the dependent transformation

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

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

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

Declaration
public ITransformationRuleDependency Call<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule

The dependent transformation rule

Func<TIn, TRequiredInput1> selector1

A method that selects the first input for the dependent transformations

Func<TIn, TRequiredInput2> selector2

A method that selects the second input for the dependent transformations

Action<TOut, TRequiredOutput> persistor

A method that persists the result of the dependent transformation

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput1

The first input argument type of the dependent transformation rule

TRequiredInput2

The second input argument type of the dependent transformation rule

TRequiredOutput

The output type of the dependent transformation

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

MarkInstantiatingFor<TBaseIn, TBaseOut>()

Marks the current transformation rule instantiating for every rule with the specified signature

Declaration
public void MarkInstantiatingFor<TBaseIn, TBaseOut>()
Type Parameters
Name Description
TBaseIn

The input argument type of the base transformation rule

TBaseOut

The output argument type of the base transformation rule

| Edit this page View Source

MarkInstantiatingFor<TBaseIn, TBaseOut>(Predicate<TIn>)

Marks the current transformation rule instantiating for every rule with the specified signature

Declaration
public void MarkInstantiatingFor<TBaseIn, TBaseOut>(Predicate<TIn> filter)
Parameters
Type Name Description
Predicate<TIn> filter

The filter that should be used to filter the inputs

Type Parameters
Name Description
TBaseIn

The input argument type of the base transformation rule

TBaseOut

The output argument type of the base transformation rule

| Edit this page View Source

RequireByType<TRequiredInput, TRequiredOutput>(Action<TOut, TRequiredOutput>)

Requires all transformation rules that transform items with the specified signature

Declaration
public void RequireByType<TRequiredInput, TRequiredOutput>(Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
Action<TOut, TRequiredOutput> persistor

A method that persists the result of the dependent transformations

Type Parameters
Name Description
TRequiredInput

The input argument type of the dependent transformations

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

| Edit this page View Source

RequireByType<TRequiredInput, TRequiredOutput>(Func<TIn, TRequiredInput>, Action<TOut, TRequiredOutput>)

Requires all transformation rules that transform items with the specified signature

Declaration
public void RequireByType<TRequiredInput, TRequiredOutput>(Func<TIn, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
Func<TIn, TRequiredInput> selector

A method that selects the input for the dependent transformations

Action<TOut, TRequiredOutput> persistor

A method that persists the result of the dependent transformations

Type Parameters
Name Description
TRequiredInput

The input argument type of the dependent transformations

TRequiredOutput

The output type of the dependent transformations

Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

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

Requires all transformation rules that transform items with the specified signature

Declaration
public void RequireByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
Func<TIn, TRequiredInput1> selector1

A method that selects the first input for the dependent transformations

Func<TIn, TRequiredInput2> selector2

A method that selects the second input for the dependent transformations

Action<TOut, TRequiredOutput> persistor

A method that persists the result of the dependent transformations

Type Parameters
Name Description
TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

TRequiredOutput

The output type of the dependent transformations

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

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

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

Declaration
public void RequireManyByType<TRequiredInput, TRequiredOutput>(Func<TIn, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
Type Name Description
Func<TIn, IEnumerable<TRequiredInput>> selector

A method that selects the inputs for the dependent transformations

Action<TOut, IEnumerable<TRequiredOutput>> persistor

A method that persists the result of the dependent transformation

Type Parameters
Name Description
TRequiredInput

The input argument type of the dependent transformations

TRequiredOutput

The output type of the dependent transformations

Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

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

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

Declaration
public void RequireManyByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
Type Name Description
Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector

A method that selects the inputs for the dependent transformations

Action<TOut, IEnumerable<TRequiredOutput>> persistor

A method that persists the result of the dependent transformation

Type Parameters
Name Description
TRequiredInput1

The first input argument type of the dependent transformation rule

TRequiredInput2

The second input argument type of the dependent transformation rule

TRequiredOutput

The output type of the dependent transformations

Exceptions
Type Condition
ArgumentNullException

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

| Edit this page View Source

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

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

Declaration
public ITransformationRuleDependency RequireMany<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput, TRequiredOutput> rule

The dependent transformation rule

Func<TIn, IEnumerable<TRequiredInput>> selector

A method that selects the inputs for the dependent transformations

Action<TOut, IEnumerable<TRequiredOutput>> persistor

A method that persists the result of the dependent transformation

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

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

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

Declaration
public ITransformationRuleDependency RequireMany<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule

The dependent transformation rule

Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector

A method that selects the inputs for the dependent transformations

Action<TOut, IEnumerable<TRequiredOutput>> persistor

A method that persists the result of the dependent transformation

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput1

The first input argument type of the dependent transformation rule

TRequiredInput2

The second input argument type of the dependent transformation rule

TRequiredOutput

The output type of the dependent transformation

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Action<TOut, TRequiredOutput>)

Requires the transformation rule with the given type

Declaration
public ITransformationRuleDependency Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput, TRequiredOutput> rule

The dependent transformation rule

Action<TOut, TRequiredOutput> persistor

A method that persists the result of the dependent transformation

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput

The 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
Type Condition
ArgumentNullException

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

| Edit this page View Source

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

Requires the transformation rule with the given type

Declaration
public ITransformationRuleDependency Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput, TRequiredOutput> rule

The dependent transformation rule

Func<TIn, TRequiredInput> selector

A method that selects the input for the dependent transformations

Action<TOut, TRequiredOutput> persistor

A method that persists the result of the dependent transformation

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Predicate<TIn>, Action<TOut, TRequiredOutput>)

Requires the transformation rule with the given type

Declaration
public ITransformationRuleDependency Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Predicate<TIn> filter, Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput, TRequiredOutput> rule

The dependent transformation rule

Predicate<TIn> filter

A predicate that filters the data

Action<TOut, TRequiredOutput> persistor

A method that persists the result of the dependent transformation

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TRequiredInput

The 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
Type Condition
ArgumentNullException

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

| Edit this page View Source

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

Requires the transformation rule with the given type

Declaration
public ITransformationRuleDependency Require<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)
Parameters
Type Name Description
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule

The dependent transformation rule

Func<TIn, TRequiredInput1> selector1

A method that selects the first input for the dependent transformations

Func<TIn, TRequiredInput2> selector2

A method that selects the second input for the dependent transformations

Action<TOut, TRequiredOutput> persistor

A method that persists the result of the dependent transformation

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
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
Type Condition
ArgumentNullException

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

ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

SelectArrays<TRequiredInput>(Func<TIn, TOut, IEnumerable<TRequiredInput>>, Computation)

This method is a helper function that converts the given selector to a selector of object[]

Declaration
protected static IEnumerable<object[]> SelectArrays<TRequiredInput>(Func<TIn, TOut, IEnumerable<TRequiredInput>> selector, Computation computation)
Parameters
Type Name Description
Func<TIn, TOut, IEnumerable<TRequiredInput>> selector

The source selector that selects the output of dependant transformation rules as typed tuples

Computation computation

The computation from which the arrays are selected

Returns
Type Description
IEnumerable<object[]>

A collection of inputs for other transformation rules

Type Parameters
Name Description
TRequiredInput

The type argument of the selector output

Remarks

This method is used as helper function for DependMany. This version is output sensitive. Use it only with the needOutput-parameter of DependMany set to true!

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

SelectArrays<TRequiredInput1, TRequiredInput2>(Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Computation)

This method is a helper function that converts the given selector of tuples to a selector of object[]

Declaration
protected static IEnumerable<object[]> SelectArrays<TRequiredInput1, TRequiredInput2>(Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Computation computation)
Parameters
Type Name Description
Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector

The source selector that selects the output of dependant transformation rules as typed tuples

Computation computation

The computation from which the arrays are selected

Returns
Type Description
IEnumerable<object[]>

A collection of inputs for other transformation rules

Type Parameters
Name Description
TRequiredInput1

The first type argument of the selector output tuple

TRequiredInput2

The second type argument pf the selector output tuple

Remarks

This method is used as helper function for DependMany. This version is output sensitive. Use it only with the needOutput-parameter of DependMany set to true!

Exceptions
Type Condition
ArgumentNullException

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

ArgumentNullException

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

| Edit this page View Source

TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput>)

Creates a trace entry for every computation of the current transformation rule

Declaration
public ITransformationRuleDependency TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput> traceKey)
Parameters
Type Name Description
TraceEntryGroup<TTraceInput, TTraceOutput> traceKey

A transformation rule that should be used as a key for tracing purposes

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TTraceInput

The input type for the newly created trace entries

TTraceOutput

The output type for the newly created trace entries

Remarks

Using this overload requires that the type parameter TTraceOutput is a base class of TOut and the type parameter TTraceInput is a base class of TIn. Sadly, this cannot be checked by the C# compiler

| Edit this page View Source

TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput>, Func<TIn, TOut, TTraceInput>)

Creates a trace entry for every computation of the current transformation rule

Declaration
public ITransformationRuleDependency TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput> traceKey, Func<TIn, TOut, TTraceInput> inputSelector)
Parameters
Type Name Description
TraceEntryGroup<TTraceInput, TTraceOutput> traceKey

A transformation rule that should be used as a key for tracing purposes

Func<TIn, TOut, TTraceInput> inputSelector

A method that selects the input for the trace entry. If null is specified, the input is taken by default. If this is not possible, an exception is thrown.

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TTraceInput

The input type for the newly created trace entries

TTraceOutput

The output type for the newly created trace entries

Remarks

Using this overload requires that the type parameter TTraceOutput is a base class of TOut. Sadly, this cannot be checked by the C# compiler

| Edit this page View Source

TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput>, Func<TIn, TOut, TTraceInput>, Func<TIn, TOut, TTraceOutput>)

Creates a trace entry for every computation of the current transformation rule

Declaration
public ITransformationRuleDependency TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput> traceKey, Func<TIn, TOut, TTraceInput> inputSelector, Func<TIn, TOut, TTraceOutput> outputSelector)
Parameters
Type Name Description
TraceEntryGroup<TTraceInput, TTraceOutput> traceKey

A transformation rule that should be used as a key for tracing purposes

Func<TIn, TOut, TTraceInput> inputSelector

A method that selects the input for the trace entry. If null is specified, the input is taken by default. If this is not possible, an exception is thrown.

Func<TIn, TOut, TTraceOutput> outputSelector

A method that selects the output for the trace entry. If null is specified, the output is taken by default. If this is not possible, an exception is thrown.

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TTraceInput

The input type for the newly created trace entries

TTraceOutput

The output type for the newly created trace entries

| Edit this page View Source

TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput>, Func<TIn, TOut, TTraceOutput>)

Creates a trace entry for every computation of the current transformation rule

Declaration
public ITransformationRuleDependency TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput> traceKey, Func<TIn, TOut, TTraceOutput> outputSelector)
Parameters
Type Name Description
TraceEntryGroup<TTraceInput, TTraceOutput> traceKey

A transformation rule that should be used as a key for tracing purposes

Func<TIn, TOut, TTraceOutput> outputSelector

A method that selects the output for the trace entry. If null is specified, the output is taken by default. If this is not possible, an exception is thrown.

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TTraceInput

The input type for the newly created trace entries

TTraceOutput

The output type for the newly created trace entries

Remarks

Using this overload requires that the type parameter TTraceInput is a base class of TIn. Sadly, this cannot be checked by the C# compiler

| Edit this page View Source

TraceOutput<TKey>(TraceEntryGroup<TKey, TOut>, Func<TIn, TOut, TKey>)

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

Declaration
public ITransformationRuleDependency TraceOutput<TKey>(TraceEntryGroup<TKey, TOut> traceKey, Func<TIn, TOut, TKey> traceSelector)
Parameters
Type Name Description
TraceEntryGroup<TKey, TOut> traceKey

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

Func<TIn, TOut, TKey> traceSelector

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

Returns
Type Description
ITransformationRuleDependency
Type Parameters
Name Description
TKey

The type of the trace entry key

| Edit this page View Source

TraceOutput<TKey>(Func<TIn, TOut, TKey>)

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

Declaration
public TraceEntryGroup<TKey, TOut> TraceOutput<TKey>(Func<TIn, TOut, TKey> traceSelector)
Parameters
Type Name Description
Func<TIn, TOut, TKey> traceSelector

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

Returns
Type Description
TraceEntryGroup<TKey, TOut>

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

Type Parameters
Name Description
TKey

The type of the trace entry key

  • Edit this page
  • View Source
In this article
Back to top Generated by DocFX