Open sandboxFocus

Interface IDependencyInjectionFramework

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

Namespace: Metalama.Extensions.DependencyInjection.Implementation
Assembly: Metalama.Extensions.DependencyInjection.dll
Syntax
[CompileTime]
public interface IDependencyInjectionFramework

Methods

Name Description
CanHandleDependency(DependencyProperties, in ScopedDiagnosticSink)

Determines whether the current instance can handle a DependencyAttribute aspect or IntroduceDependencyAttribute advice.

TryImplementDependency(DependencyProperties, IAspectBuilder<IFieldOrProperty>)

Processes the DependencyAttribute aspect, i.e. changes the target field or property of the aspect into a dependency.

TryIntroduceDependency(DependencyProperties, IAspectBuilder<INamedType>, out IFieldOrProperty?)

Processes the IntroduceDependencyAttribute advice, i.e. introduce a dependency defined by a custom aspect into the target type of the aspect.