Class TransformationRuleBase<TIn, TOut>
- Namespace
- NMF.Transformations
- Assembly
- NMF.Transformations.dll
Defines a transformation rule of a transformation that has one input argument and an output
public abstract class TransformationRuleBase<TIn, TOut> : GeneralTransformationRule<TIn>
Type Parameters
TIn
The type of the input argument
TOut
The type of the output
- Inheritance
-
TransformationRuleBase<TIn, TOut>
- Derived
-
TraceEntryGroup<TKey, TOut>
- Inherited Members
Properties
OutputType
Gets the output type of this transformation rule
public override sealed Type OutputType { get; }
Property Value
Methods
CallByType<TRequiredInput, TRequiredOutput>(Action<TOut, TRequiredOutput>)
Calls all transformation rules that transform items with the specified signature after the current transformation rule
public void CallByType<TRequiredInput, TRequiredOutput>(Action<TOut, TRequiredOutput> persistor)
Parameters
persistor
Action<TOut, TRequiredOutput>A method that persists the result of the dependent transformations
Type Parameters
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
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
public void CallByType<TRequiredInput, TRequiredOutput>(Func<TIn, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)
Parameters
selector
Func<TIn, TRequiredInput>A method that selects the input for the dependent transformations
persistor
Action<TOut, TRequiredOutput>A method that persists the result of the dependent transformations
Type Parameters
TRequiredInput
The input argument type of the dependent transformations
TRequiredOutput
The output type of the dependent transformations
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public void CallByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)
Parameters
selector1
Func<TIn, TRequiredInput1>A method that selects the first input for the dependent transformations
selector2
Func<TIn, TRequiredInput2>A method that selects the second input for the dependent transformations
persistor
Action<TOut, TRequiredOutput>A method that persists the result of the dependent transformations
Type Parameters
TRequiredInput1
The first input argument type of the dependent transformation rule
TRequiredInput2
The second input argument type of the dependent transformation rule
TRequiredOutput
The output type of the dependent transformations
Exceptions
- 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
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
public void CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, IEnumerable<TIn>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)
Parameters
rule
TransformationRuleBase<TRequiredInput, TRequiredOutput>The dependent transformation rule
selector
Func<TRequiredInput, IEnumerable<TIn>>A method that selects the inputs for this transformation rule
persistor
Action<TRequiredOutput, IEnumerable<TOut>>A method that persists the outputs of this rule back to the source instance
Type Parameters
TRequiredInput
The input argument type of the source transformation rule
TRequiredOutput
The output type of the source transformation rule
Exceptions
- 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
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
public void CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, IEnumerable<TIn>> selector, Predicate<TRequiredInput> filter, Action<TRequiredOutput, IEnumerable<TOut>> persistor)
Parameters
rule
TransformationRuleBase<TRequiredInput, TRequiredOutput>The dependent transformation rule
selector
Func<TRequiredInput, IEnumerable<TIn>>A method that selects the input for this transformation rule
filter
Predicate<TRequiredInput>A method that filters the applicable instances of S
persistor
Action<TRequiredOutput, IEnumerable<TOut>>A method that persists the output of this rule back to the source instance
Type Parameters
TRequiredInput
The input argument type of the source transformation rule
TRequiredOutput
The output type of the source transformation rule
Exceptions
- 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
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
public void CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<TIn>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)
Parameters
selector
Func<TRequiredInput, IEnumerable<TIn>>A method that selects the inputs for this transformation rule
persistor
Action<TRequiredOutput, IEnumerable<TOut>>A method that persists the outputs of this rule back to the source instance
Type Parameters
TRequiredInput
The input argument type of the source transformation rule
TRequiredOutput
The output type of the source transformation rule
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public void CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<TIn>> selector, Predicate<TRequiredInput> filter, Action<TRequiredOutput, IEnumerable<TOut>> persistor)
Parameters
selector
Func<TRequiredInput, IEnumerable<TIn>>A method that selects the input for this transformation rule
filter
Predicate<TRequiredInput>A method that filters the applicable instances of S
persistor
Action<TRequiredOutput, IEnumerable<TOut>>A method that persists the output of this rule back to the source instance
Type Parameters
TRequiredInput
The input argument type of the source transformation rule
TRequiredOutput
The output type of the source transformation rule
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public void CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)
Parameters
rule
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>The dependent transformation rule
selector
Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>A method that selects the inputs for this transformation rule
persistor
Action<TRequiredOutput, IEnumerable<TOut>>A method that persists the outputs of this rule back to the source instance
Type Parameters
TRequiredInput1
The first input argument type of the source transformation rule
TRequiredInput2
The second input argument type of the source transformation rule
TRequiredOutput
The output type of the source transformation rule
Exceptions
- 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
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
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
rule
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>The dependent transformation rule
selector
Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>A method that selects the input for this transformation rule
filter
Func<TRequiredInput1, TRequiredInput2, bool>A method that filters the applicable instances of S
persistor
Action<TRequiredOutput, IEnumerable<TOut>>A method that persists the output of this rule back to the source instance
Type Parameters
TRequiredInput1
The first input argument type of the source transformation rule
TRequiredInput2
The second input argument type of the source transformation rule
TRequiredOutput
The output type of the source transformation rule
Exceptions
- 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
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
public void CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)
Parameters
selector
Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>A method that selects the inputs for this transformation rule
persistor
Action<TRequiredOutput, IEnumerable<TOut>>A method that persists the outputs of this rule back to the source instance
Type Parameters
TRequiredInput1
The first input argument type of the source transformation rule
TRequiredInput2
The second input argument type of the source transformation rule
TRequiredOutput
The output type of the source transformation rule
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public void CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector, Func<TRequiredInput1, TRequiredInput2, bool> filter, Action<TRequiredOutput, IEnumerable<TOut>> persistor)
Parameters
selector
Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>A method that selects the input for this transformation rule
filter
Func<TRequiredInput1, TRequiredInput2, bool>A method that filters the applicable instances of S
persistor
Action<TRequiredOutput, IEnumerable<TOut>>A method that persists the output of this rule back to the source instance
Type Parameters
TRequiredInput1
The first input argument type of the source transformation rule
TRequiredInput2
The second input argument type of the source transformation rule
TRequiredOutput
The output type of the source transformation rule
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public void CallFor<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TIn> selector, Action<TOut, TRequiredOutput> persistor) where TRequiredInput : class where TRequiredOutput : class
Parameters
rule
TransformationRuleBase<TRequiredInput, TRequiredOutput>The dependent transformation rule
selector
Func<TRequiredInput, TIn>A method that selects the input for this transformation rule
persistor
Action<TOut, TRequiredOutput>A method that persists the output of this rule back to the source instance
Type Parameters
TRequiredInput
The input argument type of the source transformation rule
TRequiredOutput
The output type of the source transformation rule
Exceptions
- 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
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
public void CallFor<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TIn> selector, Action<TOut, TRequiredOutput> persistor, Predicate<TRequiredInput> filter)
Parameters
rule
TransformationRuleBase<TRequiredInput, TRequiredOutput>The dependent transformation rule
selector
Func<TRequiredInput, TIn>A method that selects the input for this transformation rule
persistor
Action<TOut, TRequiredOutput>A method that persists the output of this rule back to the source instance
filter
Predicate<TRequiredInput>A method that filters the applicable instances of S
Type Parameters
TRequiredInput
The input argument type of the source transformation rule
TRequiredOutput
The output type of the source transformation rule
Exceptions
- 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
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
public void CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TIn> selector, Action<TOut, TRequiredOutput> persistor)
Parameters
selector
Func<TRequiredInput, TIn>A method that selects the input for this transformation rule
persistor
Action<TOut, TRequiredOutput>A method that persists the output of this rule back to the source instance
Type Parameters
TRequiredInput
The input argument type of the source transformation rule
TRequiredOutput
The output type of the source transformation rule
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public void CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TIn> selector, Action<TOut, TRequiredOutput> persistor, Predicate<TRequiredInput> filter)
Parameters
selector
Func<TRequiredInput, TIn>A method that selects the input for this transformation rule
persistor
Action<TOut, TRequiredOutput>A method that persists the output of this rule back to the source instance
filter
Predicate<TRequiredInput>A method that filters the applicable instances of S
Type Parameters
TRequiredInput
The input argument type of the source transformation rule
TRequiredOutput
The output type of the source transformation rule
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public void CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, TIn> selector, Action<TOut, TRequiredOutput> persistor)
Parameters
rule
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>The dependent transformation rule
selector
Func<TRequiredInput1, TRequiredInput2, TIn>A method that selects the input for this transformation rule
persistor
Action<TOut, TRequiredOutput>A method that persists the output of this rule back to the source instance
Type Parameters
TRequiredInput1
The first input argument type of the source transformation rule
TRequiredInput2
The second input argument type of the source transformation rule
TRequiredOutput
The output type of the source transformation rule
Exceptions
- 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
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
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
rule
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>The dependent transformation rule
selector
Func<TRequiredInput1, TRequiredInput2, TIn>A method that selects the input for this transformation rule
persistor
Action<TOut, TRequiredOutput>A method that persists the output of this rule back to the source instance
filter
Func<TRequiredInput1, TRequiredInput2, bool>A method that filters the applicable instances of S
Type Parameters
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
- 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
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
public void CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TIn> selector, Action<TOut, TRequiredOutput> persistor)
Parameters
selector
Func<TRequiredInput1, TRequiredInput2, TIn>A method that selects the input for this transformation rule
persistor
Action<TOut, TRequiredOutput>A method that persists the output of this rule back to the source instance
Type Parameters
TRequiredInput1
The first input argument type of the source transformation rule
TRequiredInput2
The second input argument type of the source transformation rule
TRequiredOutput
The output type of the source transformation rule
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public void CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TIn> selector, Action<TOut, TRequiredOutput> persistor, Func<TRequiredInput1, TRequiredInput2, bool> filter)
Parameters
selector
Func<TRequiredInput1, TRequiredInput2, TIn>A method that selects the input for this transformation rule
persistor
Action<TOut, TRequiredOutput>A method that persists the output of this rule back to the source instance
filter
Func<TRequiredInput1, TRequiredInput2, bool>A method that filters the applicable instances of S
Type Parameters
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
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public void CallManyByType<TRequiredInput, TRequiredOutput>(Func<TIn, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
selector
Func<TIn, IEnumerable<TRequiredInput>>A method that selects the inputs for the dependent transformations
persistor
Action<TOut, IEnumerable<TRequiredOutput>>A method that persists the result of the dependent transformation
Type Parameters
TRequiredInput
The input argument type of the dependent transformations
TRequiredOutput
The output type of the dependent transformations
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public void CallManyByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
selector
Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>A method that selects the inputs for the dependent transformations
persistor
Action<TOut, IEnumerable<TRequiredOutput>>A method that persists the result of the dependent transformation
Type Parameters
TRequiredInput1
The first input argument type of the dependent transformation rule
TRequiredInput2
The second input argument type of the dependent transformation rule
TRequiredOutput
The output type of the dependent transformations
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TOut, IEnumerable<TRequiredInput>> selector)
Parameters
rule
GeneralTransformationRule<TRequiredInput>The dependent transformation rule
selector
Func<TIn, TOut, IEnumerable<TRequiredInput>>A method that selects the inputs for the dependent transformation rule
Returns
Type Parameters
TRequiredInput
The input argument for the called transformation
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TOut, IEnumerable<TRequiredInput>> selector, Func<TIn, TOut, bool> filter)
Parameters
rule
GeneralTransformationRule<TRequiredInput>The dependent transformation rule
selector
Func<TIn, TOut, IEnumerable<TRequiredInput>>A method that selects the inputs for the dependent transformation rule
filter
Func<TIn, TOut, bool>A method that filters the cases where the dependency should fire
Returns
Type Parameters
TRequiredInput
The input argument for the called transformation
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector)
Parameters
rule
GeneralTransformationRule<TRequiredInput1, TRequiredInput2>The dependent transformation rule
selector
Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>A method that selects the inputs for the dependent transformation rule
Returns
Type Parameters
TRequiredInput1
The first input argument for the called transformation
TRequiredInput2
The second input argument for the called transformation
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Func<TIn, TOut, bool> filter)
Parameters
rule
GeneralTransformationRule<TRequiredInput1, TRequiredInput2>The dependent transformation rule
selector
Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>A method that selects the inputs for the dependent transformation rule
filter
Func<TIn, TOut, bool>A method that filters the cases where the dependency should fire
Returns
Type Parameters
TRequiredInput1
The first input argument for the called transformation
TRequiredInput2
The second input argument for the called transformation
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public ITransformationRuleDependency CallMany<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
rule
TransformationRuleBase<TRequiredInput, TRequiredOutput>The dependent transformation rule
selector
Func<TIn, IEnumerable<TRequiredInput>>A method that selects the inputs for the dependent transformations
persistor
Action<TOut, IEnumerable<TRequiredOutput>>A method that persists the result of the dependent transformation
Returns
Type Parameters
TRequiredInput
The input argument type of the dependent transformation
TRequiredOutput
The output type of the dependent transformation
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public ITransformationRuleDependency CallMany<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
rule
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>The dependent transformation rule
selector
Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>A method that selects the inputs for the dependent transformations
persistor
Action<TOut, IEnumerable<TRequiredOutput>>A method that persists the result of the dependent transformation
Returns
Type Parameters
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
- 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
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
public ITransformationRuleDependency CallOutputSensitive(GeneralTransformationRule<TIn, TOut> rule)
Parameters
rule
GeneralTransformationRule<TIn, TOut>The dependent transformation rule
Returns
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
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
public ITransformationRuleDependency CallOutputSensitive(GeneralTransformationRule<TIn, TOut> rule, Func<TIn, TOut, bool> filter)
Parameters
rule
GeneralTransformationRule<TIn, TOut>The dependent transformation rule
filter
Func<TIn, TOut, bool>A method that filters the cases where the dependency should fire
Returns
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
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
public ITransformationRuleDependency CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TOut, bool> filter)
Parameters
rule
GeneralTransformationRule<TRequiredInput>The dependent transformation rule
filter
Func<TIn, TOut, bool>A method that filters the cases where the dependency should fire
Returns
Type Parameters
TRequiredInput
The input argument for the called transformation
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TOut, TRequiredInput>)
Calls the transformation rule with the given type after the current transformation rule, but no earlier than it created its output
public ITransformationRuleDependency CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TOut, TRequiredInput> selector)
Parameters
rule
GeneralTransformationRule<TRequiredInput>The dependent transformation rule
selector
Func<TIn, TOut, TRequiredInput>A method that selects the input for the dependent transformation rule
Returns
Type Parameters
TRequiredInput
The input argument for the called transformation
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public ITransformationRuleDependency CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TOut, TRequiredInput> selector, Func<TIn, TOut, bool> filter)
Parameters
rule
GeneralTransformationRule<TRequiredInput>The dependent transformation rule
selector
Func<TIn, TOut, TRequiredInput>A method that selects the input for the dependent transformation rule
filter
Func<TIn, TOut, bool>A method that filters the cases where the dependency should fire
Returns
Type Parameters
TRequiredInput
The input argument for the called transformation
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public ITransformationRuleDependency CallOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn, TOut, TRequiredInput1> selector1, Func<TIn, TOut, TRequiredInput2> selector2)
Parameters
rule
GeneralTransformationRule<TRequiredInput1, TRequiredInput2>The dependent transformation rule
selector1
Func<TIn, TOut, TRequiredInput1>A method that selects the first input for the dependent transformation
selector2
Func<TIn, TOut, TRequiredInput2>A method that selects the second input for the dependent transformation
Returns
Type Parameters
TRequiredInput1
The first input argument for the called transformation
TRequiredInput2
The second input argument for the called transformation
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
- 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
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
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
rule
GeneralTransformationRule<TRequiredInput1, TRequiredInput2>The dependent transformation rule
selector1
Func<TIn, TOut, TRequiredInput1>A method that selects the first input for the dependent transformation
selector2
Func<TIn, TOut, TRequiredInput2>A method that selects the second input for the dependent transformation
filter
Func<TIn, TOut, bool>A method that filters the cases where the dependency should fire
Returns
Type Parameters
TRequiredInput1
The first input argument for the called transformation
TRequiredInput2
The second input argument for the called transformation
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
- 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
Call<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Action<TOut, TRequiredOutput>)
Calls the transformation rule with the given type after the current transformation rule
public ITransformationRuleDependency Call<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Action<TOut, TRequiredOutput> persistor)
Parameters
rule
TransformationRuleBase<TRequiredInput, TRequiredOutput>The dependent transformation rule
persistor
Action<TOut, TRequiredOutput>A method that persists the result of the dependent transformation
Returns
Type Parameters
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
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
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
public ITransformationRuleDependency Call<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)
Parameters
rule
TransformationRuleBase<TRequiredInput, TRequiredOutput>The dependent transformation rule
selector
Func<TIn, TRequiredInput>A method that selects the input for the dependent transformations
persistor
Action<TOut, TRequiredOutput>A method that persists the result of the dependent transformation
Returns
Type Parameters
TRequiredInput
The input argument type of the dependent transformation
TRequiredOutput
The output type of the dependent transformation
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
- ArgumentNullException
An ArgumentNullException is thrown if the rule parameter is passed a null instance
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
public ITransformationRuleDependency Call<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)
Parameters
rule
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>The dependent transformation rule
selector1
Func<TIn, TRequiredInput1>A method that selects the first input for the dependent transformations
selector2
Func<TIn, TRequiredInput2>A method that selects the second input for the dependent transformations
persistor
Action<TOut, TRequiredOutput>A method that persists the result of the dependent transformation
Returns
Type Parameters
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
- 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
MarkInstantiatingFor<TBaseIn, TBaseOut>()
Marks the current transformation rule instantiating for every rule with the specified signature
public void MarkInstantiatingFor<TBaseIn, TBaseOut>()
Type Parameters
TBaseIn
The input argument type of the base transformation rule
TBaseOut
The output argument type of the base transformation rule
MarkInstantiatingFor<TBaseIn, TBaseOut>(Predicate<TIn>)
Marks the current transformation rule instantiating for every rule with the specified signature
public void MarkInstantiatingFor<TBaseIn, TBaseOut>(Predicate<TIn> filter)
Parameters
filter
Predicate<TIn>The filter that should be used to filter the inputs
Type Parameters
TBaseIn
The input argument type of the base transformation rule
TBaseOut
The output argument type of the base transformation rule
RequireByType<TRequiredInput, TRequiredOutput>(Action<TOut, TRequiredOutput>)
Requires all transformation rules that transform items with the specified signature
public void RequireByType<TRequiredInput, TRequiredOutput>(Action<TOut, TRequiredOutput> persistor)
Parameters
persistor
Action<TOut, TRequiredOutput>A method that persists the result of the dependent transformations
Type Parameters
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
RequireByType<TRequiredInput, TRequiredOutput>(Func<TIn, TRequiredInput>, Action<TOut, TRequiredOutput>)
Requires all transformation rules that transform items with the specified signature
public void RequireByType<TRequiredInput, TRequiredOutput>(Func<TIn, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)
Parameters
selector
Func<TIn, TRequiredInput>A method that selects the input for the dependent transformations
persistor
Action<TOut, TRequiredOutput>A method that persists the result of the dependent transformations
Type Parameters
TRequiredInput
The input argument type of the dependent transformations
TRequiredOutput
The output type of the dependent transformations
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
RequireByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>, Action<TOut, TRequiredOutput>)
Requires all transformation rules that transform items with the specified signature
public void RequireByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)
Parameters
selector1
Func<TIn, TRequiredInput1>A method that selects the first input for the dependent transformations
selector2
Func<TIn, TRequiredInput2>A method that selects the second input for the dependent transformations
persistor
Action<TOut, TRequiredOutput>A method that persists the result of the dependent transformations
Type Parameters
TRequiredInput1
The first input argument type of the dependent transformations
TRequiredInput2
The second input argument type of the dependent transformations
TRequiredOutput
The output type of the dependent transformations
Exceptions
- 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
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
public void RequireManyByType<TRequiredInput, TRequiredOutput>(Func<TIn, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
selector
Func<TIn, IEnumerable<TRequiredInput>>A method that selects the inputs for the dependent transformations
persistor
Action<TOut, IEnumerable<TRequiredOutput>>A method that persists the result of the dependent transformation
Type Parameters
TRequiredInput
The input argument type of the dependent transformations
TRequiredOutput
The output type of the dependent transformations
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public void RequireManyByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
selector
Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>A method that selects the inputs for the dependent transformations
persistor
Action<TOut, IEnumerable<TRequiredOutput>>A method that persists the result of the dependent transformation
Type Parameters
TRequiredInput1
The first input argument type of the dependent transformation rule
TRequiredInput2
The second input argument type of the dependent transformation rule
TRequiredOutput
The output type of the dependent transformations
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public ITransformationRuleDependency RequireMany<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
rule
TransformationRuleBase<TRequiredInput, TRequiredOutput>The dependent transformation rule
selector
Func<TIn, IEnumerable<TRequiredInput>>A method that selects the inputs for the dependent transformations
persistor
Action<TOut, IEnumerable<TRequiredOutput>>A method that persists the result of the dependent transformation
Returns
Type Parameters
TRequiredInput
The input argument type of the dependent transformation
TRequiredOutput
The output type of the dependent transformation
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
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
public ITransformationRuleDependency RequireMany<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)
Parameters
rule
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>The dependent transformation rule
selector
Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>A method that selects the inputs for the dependent transformations
persistor
Action<TOut, IEnumerable<TRequiredOutput>>A method that persists the result of the dependent transformation
Returns
Type Parameters
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
- 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
Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Action<TOut, TRequiredOutput>)
Requires the transformation rule with the given type
public ITransformationRuleDependency Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Action<TOut, TRequiredOutput> persistor)
Parameters
rule
TransformationRuleBase<TRequiredInput, TRequiredOutput>The dependent transformation rule
persistor
Action<TOut, TRequiredOutput>A method that persists the result of the dependent transformation
Returns
Type Parameters
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
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TIn, TRequiredInput>, Action<TOut, TRequiredOutput>)
Requires the transformation rule with the given type
public ITransformationRuleDependency Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)
Parameters
rule
TransformationRuleBase<TRequiredInput, TRequiredOutput>The dependent transformation rule
selector
Func<TIn, TRequiredInput>A method that selects the input for the dependent transformations
persistor
Action<TOut, TRequiredOutput>A method that persists the result of the dependent transformation
Returns
Type Parameters
TRequiredInput
The input argument type of the dependent transformation
TRequiredOutput
The output type of the dependent transformation
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Predicate<TIn>, Action<TOut, TRequiredOutput>)
Requires the transformation rule with the given type
public ITransformationRuleDependency Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Predicate<TIn> filter, Action<TOut, TRequiredOutput> persistor)
Parameters
rule
TransformationRuleBase<TRequiredInput, TRequiredOutput>The dependent transformation rule
filter
Predicate<TIn>A predicate that filters the data
persistor
Action<TOut, TRequiredOutput>A method that persists the result of the dependent transformation
Returns
Type Parameters
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
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter
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
public ITransformationRuleDependency Require<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)
Parameters
rule
TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>The dependent transformation rule
selector1
Func<TIn, TRequiredInput1>A method that selects the first input for the dependent transformations
selector2
Func<TIn, TRequiredInput2>A method that selects the second input for the dependent transformations
persistor
Action<TOut, TRequiredOutput>A method that persists the result of the dependent transformation
Returns
Type Parameters
TRequiredInput1
The first input argument type of the dependent transformation
TRequiredInput2
The second input argument type of the dependent transformation
TRequiredOutput
The output type of the dependent transformation
Exceptions
- ArgumentNullException
An ArgumentNullException is thrown whenever a null reference is passed to the 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
SelectArrays<TRequiredInput>(Func<TIn, TOut, IEnumerable<TRequiredInput>>, Computation)
This method is a helper function that converts the given selector to a selector of object[]
protected static IEnumerable<object[]> SelectArrays<TRequiredInput>(Func<TIn, TOut, IEnumerable<TRequiredInput>> selector, Computation computation)
Parameters
selector
Func<TIn, TOut, IEnumerable<TRequiredInput>>The source selector that selects the output of dependant transformation rules as typed tuples
computation
ComputationThe computation from which the arrays are selected
Returns
- IEnumerable<object[]>
A collection of inputs for other transformation rules
Type Parameters
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
- 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
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[]
protected static IEnumerable<object[]> SelectArrays<TRequiredInput1, TRequiredInput2>(Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Computation computation)
Parameters
selector
Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>The source selector that selects the output of dependant transformation rules as typed tuples
computation
ComputationThe computation from which the arrays are selected
Returns
- IEnumerable<object[]>
A collection of inputs for other transformation rules
Type Parameters
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
- 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
TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput>)
Creates a trace entry for every computation of the current transformation rule
public ITransformationRuleDependency TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput> traceKey)
Parameters
traceKey
TraceEntryGroup<TTraceInput, TTraceOutput>A transformation rule that should be used as a key for tracing purposes
Returns
Type Parameters
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
TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput>, Func<TIn, TOut, TTraceInput>)
Creates a trace entry for every computation of the current transformation rule
public ITransformationRuleDependency TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput> traceKey, Func<TIn, TOut, TTraceInput> inputSelector)
Parameters
traceKey
TraceEntryGroup<TTraceInput, TTraceOutput>A transformation rule that should be used as a key for tracing purposes
inputSelector
Func<TIn, TOut, TTraceInput>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 Parameters
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
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
public ITransformationRuleDependency TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput> traceKey, Func<TIn, TOut, TTraceInput> inputSelector, Func<TIn, TOut, TTraceOutput> outputSelector)
Parameters
traceKey
TraceEntryGroup<TTraceInput, TTraceOutput>A transformation rule that should be used as a key for tracing purposes
inputSelector
Func<TIn, TOut, TTraceInput>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.
outputSelector
Func<TIn, TOut, TTraceOutput>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 Parameters
TTraceInput
The input type for the newly created trace entries
TTraceOutput
The output type for the newly created trace entries
TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput>, Func<TIn, TOut, TTraceOutput>)
Creates a trace entry for every computation of the current transformation rule
public ITransformationRuleDependency TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput> traceKey, Func<TIn, TOut, TTraceOutput> outputSelector)
Parameters
traceKey
TraceEntryGroup<TTraceInput, TTraceOutput>A transformation rule that should be used as a key for tracing purposes
outputSelector
Func<TIn, TOut, TTraceOutput>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 Parameters
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
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
public ITransformationRuleDependency TraceOutput<TKey>(TraceEntryGroup<TKey, TOut> traceKey, Func<TIn, TOut, TKey> traceSelector)
Parameters
traceKey
TraceEntryGroup<TKey, TOut>The transformation rule that is used as group for direct tracing purposes
traceSelector
Func<TIn, TOut, TKey>A method that selects for an input the appropriate key that should be added to the trace
Returns
Type Parameters
TKey
The type of the trace entry key
TraceOutput<TKey>(Func<TIn, TOut, TKey>)
Creates a trace entry for every computation with the key specified by the given selector method
public TraceEntryGroup<TKey, TOut> TraceOutput<TKey>(Func<TIn, TOut, TKey> traceSelector)
Parameters
traceSelector
Func<TIn, TOut, TKey>A method that selects for an input the appropriate key that should be added to the trace
Returns
- TraceEntryGroup<TKey, TOut>
A transformation rule that can be used as group or for direct tracing purposes
Type Parameters
TKey
The type of the trace entry key