-
Notifications
You must be signed in to change notification settings - Fork 39
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