-
Notifications
You must be signed in to change notification settings - Fork 38
Open
Labels
Enhancement 🔨Improvement of existing featuresImprovement of existing featuresreleaseRelease branchRelease branch
Milestone
Description
Description
Class TypeBasedOverride allows targeting overrides to specific type. It creates a wrapper around regular ResolverOverride instance and sets Target during initialization.
Problem
This design creates performance and memory overhead during execution.
Solution
Type ResolverOverride has built in mechanisms to target specific type. The target could be specified either by passing Target parameter to constructor or by calling OnType() method.
// Wrong way
var param = new ParameterOverride("injectedObject", overrideValue);
var decorator = new TypeBasedOverride(typeof(TheType), param);
var result = container.Resolve<IForToUndergoeInject>(decorator);
// Correct way
var param = new ParameterOverride("injectedObject", overrideValue).OnType<TheType>();
var result = container.Resolve<IForToUndergoeInject>(param);Impact
Legacy code requires refactoring.
Metadata
Metadata
Assignees
Labels
Enhancement 🔨Improvement of existing featuresImprovement of existing featuresreleaseRelease branchRelease branch