Class TransformationRuleBase<TIn, TOut>
Defines a transformation rule of a transformation that has one input argument and an output
Inherited Members
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 SourceOutputType
Gets the output type of this transformation rule
Declaration
public override sealed Type OutputType { get; }
Property Value
Type | Description |
---|---|
Type |
Overrides
Methods
| Edit this page View SourceCallByType<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
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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
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
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 |
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
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 |
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 |