Autofac .NET Inversion of Control Container
Autofac Namespace
NamespacesAutofac
Types for most common Autofac usage.
Declaration Syntax
C#Visual BasicVisual C++
namespace Autofac
Namespace Autofac
namespace Autofac
Types
All TypesClassesInterfaces
IconTypeDescription
ContainerBuilder
Used to build an IContainer from component registrations.

IComponentContext
The context in which a service can be accessed or a component's dependencies resolved. Disposal of a context will dispose any owned components.

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

ILifetimeScope
An ILifetimeScope tracks the instantiation of component instances. It defines a boundary in which instances are shared and configured. Disposing an ILifetimeScope will dispose the components that were resolved through it.

Module
Base class for user-defined modules. Modules can add a set of releated components to a container (Load(ContainerBuilder)) or attach cross-cutting functionality to other components (AttachToComponentRegistration(IComponentRegistry, IComponentRegistration). Modules are given special support in the XML configuration feature - see http://code.google.com/p/autofac/wiki/StructuringWithModules.

NamedParameter
A parameter identified by name. When applied to a reflection-based component, Name will be matched against the name of the component's constructor arguments. When applied to a delegate-based component, the parameter can be accessed using Named<(Of <(T>)>)(IEnumerable<(Of <(Parameter>)>), String).

ParameterExtensions
Extension methods that simplify extraction of parameter values from an IEnumerable<(Of <(T>)>) where T is Parameter. Each method returns the first matching parameter value, or throws an exception if none is provided.

PositionalParameter
A parameter that is identified according to an integer representing its position in an argument list. When applied to a reflection-based component, Position will be matched against the indices of the component's constructor arguments. When applied to a delegate-based component, the parameter can be accessed using Positional<(Of <(T>)>)(IEnumerable<(Of <(Parameter>)>), Int32).

RegistrationExtensions
Adds registration syntax to the ContainerBuilder type.

ResolutionExtensions
Adds syntactic convenience methods to the IComponentContext interface.

TypedParameter
A parameter that can supply values to sites that exactly match a specified type. When applied to a reflection-based component, Type will be matched against the types of the component's constructor arguments. When applied to a delegate-based component, the parameter can be accessed using TypedAs<(Of <(T>)>)(IEnumerable<(Of <(Parameter>)>)).