This target is specifically used for explicitly casting the result of one target to another type. Its use is rare, since the framework already caters for downcasting the result of targets to base types.
A target that binds to a type's constructor with zero or more arguments supplied by other ITargets and, optionally binding to the new instance's writeable properties.
The target supports en explicitly supplied constructor, as well as just-in-time lookups for the best available constructor based on the available services and/or any named arguments which might been provided up front.
NOTE - You shouldn't register or otherwise create instances of this target unless you absolutely know what you're doing. Rather, decorators should be registered using the extension method RegisterDecorator<TDecorator, TDecorated>(IRootTargetContainer) or its non-generic alternative because the target needs a DecoratingTargetContainer to work properly (the creation of which is automatically handled by these extension methods).
A target that simply creates a default instance of a given type. I.e. the same as doing default(type) in C#.
An ITarget which resolve objects by executing a delegate with argument injection.
A specialised target for creating instances of System.Collections.Generic.IEnumerable<T>
A generic target for all expressions not explicitly supported by a particular target.
Enables more complex behaviours to be registered and used with the more formal ITarget implementations.
Equivalent of ConstructorTarget but for open generic types.
So, this will handle the open generic MyType<,>, for example, whereas ConstructorTarget would handle the closed type MyType<int, string>.
Implements ITarget by wrapping a single instance that's already been constructed by application code.
Used specifically when binding arguments to method parameters when a parameter is optional and its default value is to be used when binding to it.
It is highly unlikely you'll ever create one of these directly.
Created automatically by the ProjectionTargetContainer.
Represents a target that is rezolved statically at compile time via the ICompileContext, or dynamically (at 'resolve time') from the IContainer that is attached to the current IResolveContext when Resolve(IResolveContext) is called.
This is the most common way that we bind constructor parameters, for example - i.e. 'I want an
IService instance - go get it'.
A target that produces or fetches a single instance of an object within a lifetime scope.
A target which applies the singleton pattern to any ITarget.
The inner target is available from the InnerTarget property.
Abstract base class, suggested as a starting point for implementations of ITarget.
Wraps another target to force scoping to be ignored for the object that it produces, regardless of whether that object is IDisposable or otherwise has its own scoping behaviour.
Target used to wrap another when match contravariantly or covariantly