Table of Contents

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

IReadOnlyList<InjectableDependencyResolution<MemberInfo>>

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

Action<object, Type, IDependencyScope>

ParameterResolutions

Contains all registered custom constructor parameter resolutions.

IReadOnlyList<InjectableDependencyResolution<ParameterInfo>> ParameterResolutions { get; }

Property Value

IReadOnlyList<InjectableDependencyResolution<ParameterInfo>>

Methods

ClearMemberResolutions()

Removes all registered custom injectable member resolutions from this instance.

IDependencyConstructorInvocationOptions ClearMemberResolutions()

Returns

IDependencyConstructorInvocationOptions

this.

ClearParameterResolutions()

Removes all registered custom constructor parameter resolutions from this instance.

IDependencyConstructorInvocationOptions ClearParameterResolutions()

Returns

IDependencyConstructorInvocationOptions

this.

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

IDependencyConstructorInvocationOptions

this.

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 Type

Explicit implementor type.

configuration Action<IDependencyImplementorOptions>

Optional implementor configurator.

Returns

IDependencyConstructorInvocationOptions

this.

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

IDependencyConstructorInvocationOptions

this.

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 Type

Explicit implementor type.

configuration Action<IDependencyImplementorOptions>

Optional implementor configurator.

Returns

IDependencyConstructorInvocationOptions

this.

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.

Returns

IDependencyConstructorInvocationOptions

this.