SimpleInjector.Advanced Namespace

Simple Injector
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.
Classes

  ClassDescription
Public classAdvancedExtensions
Extension methods for enable advanced scenarios.
Public classApiObject
Common base class for Simple Injector API classes.
Public classInitializationContext
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.
Public classInitializerContext
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.
Public classKnownRelationship
A known relationship defines a relationship between two types. The Diagnostics Debug View uses this information to spot possible misconfigurations.
Structures

  StructureDescription
Public structureInstanceInitializationData
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.
Interfaces

  InterfaceDescription
Public interfaceIConstructorResolutionBehavior
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.
Public interfaceIDependencyInjectionBehavior
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.
Public interfaceIExpressionCompilationBehavior
Defines the container's behavior for compiling expressions into delegates.
Public interfaceILifestyleSelectionBehavior
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.
Public interfaceIPropertySelectionBehavior
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.