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.

  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.

  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.

  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.