Click or drag to resize

IContainer Interface

Creates, wires dependencies and manages lifetime for a set of components. Most instances of IContainer are created by a ContainerBuilder.

Namespace:  Autofac
Assembly:  Autofac (in Autofac.dll) Version: 6.0.0+39696a967e8826f7f1ebc8c1ff4523c9dd75abe0
Syntax
public interface IContainer : ILifetimeScope, 
	IComponentContext, IDisposable, IAsyncDisposable

The IContainer type exposes the following members.

Properties
  NameDescription
Public propertyComponentRegistry
Gets the associated services with the components that provide them.
(Inherited from IComponentContext.)
Public propertyDiagnosticSource
Gets the DiagnosticListener to which trace events should be written.
Public propertyDisposer
Gets the disposer associated with this ILifetimeScope. Component instances can be associated with it manually if required.
(Inherited from ILifetimeScope.)
Public propertyTag
Gets the tag applied to the ILifetimeScope.
(Inherited from ILifetimeScope.)
Top
Methods
  NameDescription
Public methodBeginLifetimeScope
Begin a new nested scope. Component instances created via the new scope will be disposed along with it.
(Inherited from ILifetimeScope.)
Public methodBeginLifetimeScope(Object)
Begin a new nested scope. Component instances created via the new scope will be disposed along with it.
(Inherited from ILifetimeScope.)
Public methodBeginLifetimeScope(ActionContainerBuilder)
Begin a new nested scope, with additional components available to it. Component instances created via the new scope will be disposed along with it.
(Inherited from ILifetimeScope.)
Public methodBeginLifetimeScope(Object, ActionContainerBuilder)
Begin a new nested scope, with additional components available to it. Component instances created via the new scope will be disposed along with it.
(Inherited from ILifetimeScope.)
Public methodDispose
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(Inherited from IDisposable.)
Public methodDisposeAsync (Inherited from IAsyncDisposable.)
Public methodResolveComponent
Resolve an instance of the provided registration within the context.
(Inherited from IComponentContext.)
Top
Events
  NameDescription
Public eventChildLifetimeScopeBeginning
Fired when a new scope based on the current scope is beginning.
(Inherited from ILifetimeScope.)
Public eventCurrentScopeEnding
Fired when this scope is ending.
(Inherited from ILifetimeScope.)
Public eventResolveOperationBeginning
Fired when a resolve operation is beginning in this scope.
(Inherited from ILifetimeScope.)
Top
Extension Methods
  NameDescription
Public Extension MethodInjectPropertiesTService(TService)Overloaded.
Set any properties on instance that can be resolved in the context.
(Defined by ResolutionExtensions.)
Public Extension MethodInjectPropertiesTService(TService, IEnumerableParameter)Overloaded.
Set any properties on instance that can be resolved in the context.
(Defined by ResolutionExtensions.)
Public Extension MethodInjectPropertiesTService(TService, Parameter)Overloaded.
Set any properties on instance that can be resolved in the context.
(Defined by ResolutionExtensions.)
Public Extension MethodInjectPropertiesTService(TService, IPropertySelector)Overloaded.
Set any properties on instance that can be resolved by service and that satisfy the constraints imposed by propertySelector.
(Defined by ResolutionExtensions.)
Public Extension MethodInjectPropertiesTService(TService, IPropertySelector, IEnumerableParameter)Overloaded.
Set any properties on instance that can be resolved by service and that satisfy the constraints imposed by propertySelector.
(Defined by ResolutionExtensions.)
Public Extension MethodInjectPropertiesTService(TService, IPropertySelector, Parameter)Overloaded.
Set any properties on instance that can be resolved by service and that satisfy the constraints imposed by propertySelector.
(Defined by ResolutionExtensions.)
Public Extension MethodInjectUnsetPropertiesTService(TService)Overloaded.
Set any null-valued properties on instance that can be resolved by the container.
(Defined by ResolutionExtensions.)
Public Extension MethodInjectUnsetPropertiesTService(TService, IEnumerableParameter)Overloaded.
Set any null-valued properties on instance that can be resolved by the container.
(Defined by ResolutionExtensions.)
Public Extension MethodInjectUnsetPropertiesTService(TService, Parameter)Overloaded.
Set any null-valued properties on instance that can be resolved by the container.
(Defined by ResolutionExtensions.)
Public Extension MethodIsRegistered(Type)Overloaded.
Determine whether the specified service is available in the context.
(Defined by ResolutionExtensions.)
Public Extension MethodIsRegisteredTServiceOverloaded.
Determine whether the specified service is available in the context.
(Defined by ResolutionExtensions.)
Public Extension MethodIsRegisteredService
Determine whether the specified service is available in the context.
(Defined by ResolutionExtensions.)
Public Extension MethodIsRegisteredWithKey(Object, Type)Overloaded.
Determine whether the specified service is available in the context.
(Defined by ResolutionExtensions.)
Public Extension MethodIsRegisteredWithKeyTService(Object)Overloaded.
Determine whether the specified service is available in the context.
(Defined by ResolutionExtensions.)
Public Extension MethodIsRegisteredWithName(String, Type)Overloaded.
Determine whether the specified service is available in the context.
(Defined by ResolutionExtensions.)
Public Extension MethodIsRegisteredWithNameTService(String)Overloaded.
Determine whether the specified service is available in the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolve(Type)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolve(Type, IEnumerableParameter)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolve(Type, Parameter)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveTServiceOverloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveTService(IEnumerableParameter)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveTService(Parameter)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveExportsTOverloaded.
Locate all of the MEF exports registered as supplying contract type T.
(Defined by RegistrationExtensions.)
Public Extension MethodResolveExportsT(String)Overloaded.
Locate all of the MEF exports registered as supplying contract type T.
(Defined by RegistrationExtensions.)
Public Extension MethodResolveKeyed(Object, Type)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveKeyed(Object, Type, IEnumerableParameter)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveKeyed(Object, Type, Parameter)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveKeyedTService(Object)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveKeyedTService(Object, IEnumerableParameter)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveKeyedTService(Object, Parameter)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveNamed(String, Type)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveNamed(String, Type, IEnumerableParameter)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveNamed(String, Type, Parameter)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveNamedTService(String)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveNamedTService(String, IEnumerableParameter)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveNamedTService(String, Parameter)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveOptional(Type)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveOptional(Type, IEnumerableParameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveOptional(Type, Parameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveOptionalTServiceOverloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveOptionalTServiceOverloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionValueExtensions.)
Public Extension MethodResolveOptionalTService(IEnumerableParameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveOptionalTService(Parameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveOptionalTService(IEnumerableParameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionValueExtensions.)
Public Extension MethodResolveOptionalTService(Parameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionValueExtensions.)
Public Extension MethodResolveOptionalKeyedTService(Object)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveOptionalKeyedTService(Object)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionValueExtensions.)
Public Extension MethodResolveOptionalKeyedTService(Object, IEnumerableParameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveOptionalKeyedTService(Object, Parameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveOptionalKeyedTService(Object, IEnumerableParameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionValueExtensions.)
Public Extension MethodResolveOptionalKeyedTService(Object, Parameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionValueExtensions.)
Public Extension MethodResolveOptionalNamedTService(String)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveOptionalNamedTService(String)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionValueExtensions.)
Public Extension MethodResolveOptionalNamedTService(String, IEnumerableParameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveOptionalNamedTService(String, Parameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveOptionalNamedTService(String, IEnumerableParameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionValueExtensions.)
Public Extension MethodResolveOptionalNamedTService(String, Parameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionValueExtensions.)
Public Extension MethodResolveOptionalService(Service)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveOptionalService(Service, IEnumerableParameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveOptionalService(Service, Parameter)Overloaded.
Retrieve a service from the context, or null if the service is not registered.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveService(Service)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveService(Service, IEnumerableParameter)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodResolveService(Service, Parameter)Overloaded.
Retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodSubscribeToDiagnostics(DiagnosticTracerBase)Overloaded.
Subscribes a diagnostic tracer to Autofac events.
(Defined by ContainerExtensions.)
Public Extension MethodSubscribeToDiagnosticsTOverloaded.
Subscribes a diagnostic tracer to Autofac events.
(Defined by ContainerExtensions.)
Public Extension MethodTryResolve(Type, Object)Overloaded.
Try to retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodTryResolveT(T)Overloaded.
Try to retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodTryResolveT(NullableT)Overloaded.
Try to retrieve a service from the context.
(Defined by ResolutionValueExtensions.)
Public Extension MethodTryResolveKeyed
Try to retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodTryResolveNamed
Try to retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodTryResolveService(Service, Object)Overloaded.
Try to retrieve a service from the context.
(Defined by ResolutionExtensions.)
Public Extension MethodTryResolveService(Service, IEnumerableParameter, Object)Overloaded.
Try to retrieve a service from the context.
(Defined by ResolutionExtensions.)
Top
Remarks
Most IContainer functionality is provided by extension methods on the inherited IComponentContext interface.
Examples
// See ContainerBuilder for the definition of the builder variable
using (var container = builder.Build())
{
    var program = container.Resolve<Program>();
    program.Run();
}
See Also