Interface IDependencyConstructorInvocationOptions
- Namespace
- LfrlAnvil.Dependencies
- Assembly
- LfrlAnvil.Dependencies.dll
Represents custom dependency constructor invocation options.
public interface IDependencyConstructorInvocationOptions
Properties
MemberResolutions
Contains all registered custom injectable member resolutions.
IReadOnlyList<InjectableDependencyResolution<MemberInfo>> MemberResolutions { get; }
Property Value
OnCreatedCallback
Specifies an optional callback that gets invoked right after the dependency instance is created. The first argument is the resolved dependency, the second argument denotes the resolved dependency type and the third argument is the scope that was used to resolve the dependency.
Action<object, Type, IDependencyScope>? OnCreatedCallback { get; }
Property Value
ParameterResolutions
Contains all registered custom constructor parameter resolutions.
IReadOnlyList<InjectableDependencyResolution<ParameterInfo>> ParameterResolutions { get; }
Property Value
Methods
ClearMemberResolutions()
Removes all registered custom injectable member resolutions from this instance.
IDependencyConstructorInvocationOptions ClearMemberResolutions()
Returns
ClearParameterResolutions()
Removes all registered custom constructor parameter resolutions from this instance.
IDependencyConstructorInvocationOptions ClearParameterResolutions()
Returns
ResolveMember(Func<MemberInfo, bool>, Expression<Func<IDependencyScope, object>>)
Registers a custom injectable member resolution based on a factory.
IDependencyConstructorInvocationOptions ResolveMember(Func<MemberInfo, bool> predicate, Expression<Func<IDependencyScope, object>> factory)
Parameters
predicate
Func<MemberInfo, bool>Predicate used for locating the desired injectable member, denoted by the predicate returning true.
factory
Expression<Func<IDependencyScope, object>>Custom member factory.
Returns
ResolveMember(Func<MemberInfo, bool>, Type, Action<IDependencyImplementorOptions>?)
Registers a custom injectable member resolution based on an explicit implementor type.
IDependencyConstructorInvocationOptions ResolveMember(Func<MemberInfo, bool> predicate, Type implementorType, Action<IDependencyImplementorOptions>? configuration = null)
Parameters
predicate
Func<MemberInfo, bool>Predicate used for locating the desired injectable member, denoted by the predicate returning true.
implementorType
TypeExplicit implementor type.
configuration
Action<IDependencyImplementorOptions>Optional implementor configurator.
Returns
ResolveParameter(Func<ParameterInfo, bool>, Expression<Func<IDependencyScope, object>>)
Registers a custom constructor parameter resolution based on a factory.
IDependencyConstructorInvocationOptions ResolveParameter(Func<ParameterInfo, bool> predicate, Expression<Func<IDependencyScope, object>> factory)
Parameters
predicate
Func<ParameterInfo, bool>Predicate used for locating the desired constructor parameter, denoted by the predicate returning true.
factory
Expression<Func<IDependencyScope, object>>Custom parameter factory.
Returns
ResolveParameter(Func<ParameterInfo, bool>, Type, Action<IDependencyImplementorOptions>?)
Registers a custom constructor parameter resolution based on an explicit implementor type.
IDependencyConstructorInvocationOptions ResolveParameter(Func<ParameterInfo, bool> predicate, Type implementorType, Action<IDependencyImplementorOptions>? configuration = null)
Parameters
predicate
Func<ParameterInfo, bool>Predicate used for locating the desired constructor parameter, denoted by the predicate returning true.
implementorType
TypeExplicit implementor type.
configuration
Action<IDependencyImplementorOptions>Optional implementor configurator.
Returns
SetOnCreatedCallback(Action<object, Type, IDependencyScope>?)
Sets the OnCreatedCallback for this instance.
IDependencyConstructorInvocationOptions SetOnCreatedCallback(Action<object, Type, IDependencyScope>? callback)
Parameters
callback
Action<object, Type, IDependencyScope>Delegate to set.