Table of Contents

Class TransformationRule<TIn1, TIn2, TOut>

Namespace
NMF.Transformations
Assembly
NMF.Transformations.dll

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

public class TransformationRule<TIn1, TIn2, TOut> : TransformationRuleBase<TIn1, TIn2, TOut> where TIn1 : class where TIn2 : class where TOut : class

Type Parameters

TIn1

The type of the first input argument

TIn2

The type of the second input argument

TOut

The type of the output

Inheritance
TransformationRuleBase<TIn1, TIn2, TOut>
TransformationRule<TIn1, TIn2, TOut>
Derived
Inherited Members
Extension Methods

Remarks

Simple means that the transformation rule does not require a custom computation class

Constructors

TransformationRule()

Creates a new transformation rule

public TransformationRule()

Properties

NeedDependenciesForOutputCreation

Gets a value indicating whether the output for all dependencies must have been created before this rule creates the output

public override bool NeedDependenciesForOutputCreation { get; }

Property Value

bool

Methods

CreateComputation(object[], IComputationContext)

Creates a new Computation instance for this transformation rule or the given input

public override sealed Computation CreateComputation(object[] input, IComputationContext context)

Parameters

input object[]

The input arguments for this computation

context IComputationContext

The context for this computation

Returns

Computation

A computation object

CreateOutput(TIn1, TIn2, ITransformationContext)

Creates the output of this transformation rule

public virtual TOut CreateOutput(TIn1 input1, TIn2 input2, ITransformationContext context)

Parameters

input1 TIn1

The first input of the transformation rule

input2 TIn2

The second input of the transformation rule

context ITransformationContext

The context (and trace!) object

Returns

TOut

The output for this transformation under this input

Remarks

At this point, not all of the computations have created their output and thus, the trace is not complete. Use the OutputDelayLevel-feature to have the trace contain all elements created in earlier levels

Transform(TIn1, TIn2, TOut, ITransformationContext)

Initializes the transformation output

public virtual void Transform(TIn1 input1, TIn2 input2, TOut output, ITransformationContext context)

Parameters

input1 TIn1

The first input of the transformation rule

input2 TIn2

The second input of the transformation rule

output TOut

The output of the transformation rule generated earlier

context ITransformationContext

The context (and trace!) object

Remarks

At this point, all the transformation outputs are created (also the delayed ones), thus, the trace is fully reliable