Table of Contents

Class ReflectiveTransformation

Namespace
NMF.Transformations
Assembly
NMF.Transformations.dll

This is a base class of a transformation that just creates an instance of each nested class, if it is not abstract and is a transformation rule

public abstract class ReflectiveTransformation : Transformation
Inheritance
ReflectiveTransformation
Derived
Inherited Members

Methods

CreateCustomRules()

Creates the transformation rules that are no public nested classes (cannot be overridenn by reflected rules)

protected virtual IEnumerable<GeneralTransformationRule> CreateCustomRules()

Returns

IEnumerable<GeneralTransformationRule>

A collection of transformation rules

CreateDefaultRules()

Creates the default transformation rules (can be overridden by reflected rules)

protected virtual IEnumerable<GeneralTransformationRule> CreateDefaultRules()

Returns

IEnumerable<GeneralTransformationRule>

A collection of transformation rules

CreateRules()

Creates all transformation rules of this transformation

protected override sealed IEnumerable<GeneralTransformationRule> CreateRules()

Returns

IEnumerable<GeneralTransformationRule>

A collection of transformation rules

Remarks

This method is called during Initialization. The output IEnumerable-collection is saved into a list.

GetRuleForRuleType(Type)

Gets the rule with the specified type (exact match)

public override GeneralTransformationRule GetRuleForRuleType(Type transformationRule)

Parameters

transformationRule Type

The type of the transformation rule

Returns

GeneralTransformationRule

The transformation rule with this type or null, if there is none

Remarks

This method assumes there is only one transformation rule per type

GetRulesForRuleType(Type)

Gets all rules with the specified type (exact match)

public override IEnumerable<GeneralTransformationRule> GetRulesForRuleType(Type transformationRule)

Parameters

transformationRule Type

The type of the transformation rules

Returns

IEnumerable<GeneralTransformationRule>

A collection of all rules with this type

Remarks

This method assumes there is only one transformation rule per type

RegisterRules()

Registers the rules of this transformation

public override void RegisterRules()

Rule<TRule>()

Gets the transformation rule instance of the given rule type within the given transformation

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

Returns

TRule

The transformation rule

Type Parameters

TRule

The type of the desired transformation rule