Open sandboxFocus

Namespace Metalama.Extensions.DependencyInjection

Classes

DependencyAttribute

Marks a field or automatic property as a service dependency that should be injected by the dependency injection framework. This attribute is used in user code, whereas IntroduceDependencyAttribute is used in aspect code to introduce dependencies.

DependencyInjectionExtensions

Provides extension methods for configuring and using dependency injection in Metalama aspects.

DependencyInjectionOptionsBuilder

Builder for configuring dependency injection options.

DependencyOptions

Specifies options for a dependency introduced by IntroduceDependency(IAdviser<INamedType>, IType, DependencyOptions?).

DependencyProperties

Specifications of an introduced dependency.

IntroduceDependencyAttribute

Marks a field or property in an aspect as a service dependency to be introduced into the target type. This attribute is used in an aspect class to introduce dependencies, whereas DependencyAttribute is used in user code.

IntroduceDependencyResult

Represents the result of introducing a dependency into a type.

Interfaces

IDependencyInjectionFrameworkSelector

Exposes a method SelectFramework(DependencyProperties, ImmutableArray<IDependencyInjectionFramework>) that gets called when there are many candidate frameworks for a dependency.