Open sandboxFocus

Namespace Metalama.Extensions.DependencyInjection.Implementation

Classes

DefaultDependencyInjectionFramework

The default implementation of IDependencyInjectionFramework. It pulls dependencies from all constructors and use Func<TResult> to accept lazy dependencies.

DefaultDependencyInjectionStrategy

The default implementation of the IntroduceDependency(DependencyProperties, IAdviser<INamedType>) interface method. It is designed to be easily extended and overwritten.

DefaultDependencyPullStrategy

The default implementation of IDependencyPullStrategy.

DefaultParameterPullStrategy

The default implementation of IParameterPullStrategy that handles constructor parameter introduction and propagation for dependency injection.

DependencyInjectionFrameworkRegistration

Represents a registration of a IDependencyInjectionFramework.

DependencyInjectionOptions

Options that influence the processing of IntroduceDependencyAttribute. To set these options, use ConfigureDependencyInjection(IQuery<ICompilation>, Action<DependencyInjectionOptionsBuilder>).

LazyDependencyInjectionStrategy

A dependency implementation strategy that resolves the dependencies the first time they are used and pull a Func<TResult> from the constructor.

LazyDependencyInjectionStrategy.TemplateArgs

LoggerDependencyInjectionFramework

A specialized IDependencyInjectionFramework implementation that handles Microsoft.Extensions.Logging.ILogger dependencies by generating the correct code pattern for .NET Core logging.

SuppressionHelper

Structs

ParameterSpecification

Specifies a constructor parameter.

Interfaces

IDependencyInjectionFramework

Interface that dependency injection framework adapters must implement to handle the IntroduceDependencyAttribute advice. An implementation typically also implements IDependencyPullStrategy.

IDependencyPullStrategy

Interface used by DefaultDependencyInjectionStrategy to pull a field or property from the constructor. This interface is instantiated from GetDependencyPullStrategy(IFieldOrProperty). You must override this method if you want to provide a custom implementation of IDependencyPullStrategy. The default implementation is DefaultDependencyPullStrategy.

IParameterPullStrategy

Interface used by DefaultDependencyInjectionStrategy to introduce and pull a constructor parameter. Implementations must be serializable, as they implement ICompileTimeSerializable.