Open
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.