SimpleInjector.Advanced Namespace
The SimpleInjector.Advanced namespace contains types and extension methods. This namespace will typically be used by users writing their own registrations or when writing code that changes the default behavior of the framework.
| Class | Description | |
|---|---|---|
| AdvancedExtensions | Extension methods for enable advanced scenarios. | |
| ApiObject | Common base class for Simple Injector API classes. | |
| InitializationContext | An instance of this type will be supplied to the PredicateT delegate that is that is supplied to the RegisterResolveInterceptor method that takes this delegate. This type contains contextual information about a resolved type and it allows the user to examine the given instance to decide whether the ResolveInterceptor should be applied or not. | |
| InitializerContext | An instance of this type will be supplied to the PredicateT delegate that is that is supplied to the RegisterInitializer overload that takes this delegate. This type contains contextual information about the creation and it allows the user to examine the given instance to decide whether the instance should be initialized or not. | |
| KnownRelationship | A known relationship defines a relationship between two types. The Diagnostics Debug View uses this information to spot possible misconfigurations. |
| Structure | Description | |
|---|---|---|
| InstanceInitializationData | Contains data that can be used to initialize a created instance. This data includes the actual created Instance and the Context information about the created instance. |
| Interface | Description | |
|---|---|---|
| IConstructorResolutionBehavior | Defines the container's behavior for finding a suitable constructor for the creation of a type. Set the ConstructorResolutionBehavior property of the container's Options property to change the default behavior of the container. | |
| IDependencyInjectionBehavior | Defines the container's behavior for building an expression tree for an dependency to inject, based on the information of the consuming type the dependency is injected into. Set the ConstructorInjectionBehavior property of the container's Options property to change the default behavior of the container. | |
| IExpressionCompilationBehavior | Defines the container's behavior for compiling expressions into delegates. | |
| ILifestyleSelectionBehavior | Defines the container's behavior for selecting the lifestyle for a registration in case no lifestyle is explicitly supplied. Set the LifestyleSelectionBehavior property of the container's Options property to change the default behavior of the container. By default, when no lifestyle is explicitly supplied, the Transient lifestyle is used. | |
| IPropertySelectionBehavior | Defines the container's behavior for selecting properties to inject during the creation of a type. Set the PropertySelectionBehavior property of the container's Options property to change the default behavior of the container. By default, no properties will be injected by the container. |