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
TypeThe 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
TypeThe 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