Metalama 1.0 / / Metalama Documentation / Aspect API Documentation / Metalama.​Framework.​Dependency­Injection.​Implementation

Namespace Metalama.Framework.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(IntroduceDependencyContext, IAspectBuilder<INamedType>) interface method. It is designed to be easily extended and overwritten.

DefaultPullStrategy

The default implementation of IPullStrategy.

DependencyContext

The base class for IntroduceDependencyContext and ImplementDependencyContext, which represent the context in which a dependency is being implemented or introduced.

ImplementDependencyContext

Represents the context in which the an aspect dependency advice is weaved.

IntroduceDependencyContext

Represents the context in which the an aspect dependency advice is weaved.

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

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

IPullStrategy

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