Show / Hide Table of Contents

Class UnityContainerExtensions

Extension class that adds a set of convenience overloads to the IUnityContainer interface.

Inheritance
Object
UnityContainerExtensions
Inherited Members
Object.Equals(Object)
Object.Equals(Object, Object)
Object.GetHashCode()
Object.GetType()
Object.MemberwiseClone()
Object.ReferenceEquals(Object, Object)
Object.ToString()
Namespace: Unity
Assembly: Unity.Abstractions.dll
Syntax
public static class UnityContainerExtensions

Methods

| Improve this Doc View Source

BuildUp(IUnityContainer, Type, Object, ResolverOverride[])

Run an existing object through the container and perform injection on it.

Declaration
public static object BuildUp(this IUnityContainer container, Type t, object existing, params ResolverOverride[] resolverOverrides)
Parameters
Type Name Description
IUnityContainer container

Container to resolve through.

Type t

Type of object to perform injection on.

Object existing

Instance to build up.

ResolverOverride[] resolverOverrides

Any overrides for the Buildup.

Returns
Type Description
Object

The resulting object. By default, this will be existing, but container extensions may add things like automatic proxy creation which would cause this to return a different object (but still type compatible with t).

Remarks

This method is useful when you don't control the construction of an instance (ASP.NET pages or objects created via XAML, for instance) but you still want properties and other injection performed.

This overload uses the default registrations.

| Improve this Doc View Source

BuildUp<T>(IUnityContainer, T, String, ResolverOverride[])

Run an existing object through the container and perform injection on it.

Declaration
public static T BuildUp<T>(this IUnityContainer container, T existing, string name, params ResolverOverride[] resolverOverrides)
Parameters
Type Name Description
IUnityContainer container

Container to resolve through.

T existing

Instance to build up.

String name

name to use when looking up the typemappings and other configurations.

ResolverOverride[] resolverOverrides

Any overrides for the Buildup.

Returns
Type Description
T

The resulting object. By default, this will be existing, but container extensions may add things like automatic proxy creation which would cause this to return a different object (but still type compatible with T).

Type Parameters
Name Description
T

Type of object to perform injection on.

Remarks

This method is useful when you don't control the construction of an instance (ASP.NET pages or objects created via XAML, for instance) but you still want properties and other injection performed.

| Improve this Doc View Source

BuildUp<T>(IUnityContainer, T, ResolverOverride[])

Run an existing object through the container and perform injection on it.

Declaration
public static T BuildUp<T>(this IUnityContainer container, T existing, params ResolverOverride[] resolverOverrides)
Parameters
Type Name Description
IUnityContainer container

Container to resolve through.

T existing

Instance to build up.

ResolverOverride[] resolverOverrides

Any overrides for the buildup.

Returns
Type Description
T

The resulting object. By default, this will be existing, but container extensions may add things like automatic proxy creation which would cause this to return a different object (but still type compatible with T).

Type Parameters
Name Description
T

Type of object to perform injection on.

Remarks

This method is useful when you don't control the construction of an instance (ASP.NET pages or objects created via XAML, for instance) but you still want properties and other injection performed.

This overload uses the default registrations.

| Improve this Doc View Source

IsRegistered(IUnityContainer, Type)

Check if a particular type has been registered with the container with the default name.

Declaration
public static bool IsRegistered(this IUnityContainer container, Type typeToCheck)
Parameters
Type Name Description
IUnityContainer container

Container to inspect.

Type typeToCheck

Type to check registration for.

Returns
Type Description
Boolean

True if this type has been registered, false if not.

| Improve this Doc View Source

IsRegistered<T>(IUnityContainer)

Check if a particular type has been registered with the container with the default name.

Declaration
public static bool IsRegistered<T>(this IUnityContainer container)
Parameters
Type Name Description
IUnityContainer container

Container to inspect.

Returns
Type Description
Boolean

True if this type has been registered, false if not.

Type Parameters
Name Description
T

Type to check registration for.

| Improve this Doc View Source

IsRegistered<T>(IUnityContainer, String)

Check if a particular type/name pair has been registered with the container.

Declaration
public static bool IsRegistered<T>(this IUnityContainer container, string nameToCheck)
Parameters
Type Name Description
IUnityContainer container

Container to inspect.

String nameToCheck

Name to check registration for.

Returns
Type Description
Boolean

True if this type/name pair has been registered, false if not.

Type Parameters
Name Description
T

Type to check registration for.

| Improve this Doc View Source

RegisterFactory(IUnityContainer, Type, Func<IUnityContainer, Object>, IFactoryLifetimeManager)

Register a Factory with the container.

Declaration
public static IUnityContainer RegisterFactory(this IUnityContainer container, Type type, Func<IUnityContainer, object> factory, IFactoryLifetimeManager lifetimeManager = null)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type type

Type to register (may be an implemented interface instead of the actual type).

Func<IUnityContainer, Object> factory

Predefined

Func<IUnityContainer, object>
to create types

IFactoryLifetimeManager lifetimeManager

The LifetimeManager that controls the lifetime of the returned instance. This manager has to derive from IFactoryLifetimeManager

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Remarks

This overload does a default registration and has the current container take over the lifetime of the factory.

| Improve this Doc View Source

RegisterFactory(IUnityContainer, Type, Func<IUnityContainer, Type, String, Object>, IFactoryLifetimeManager)

Register a Factory with the container.

Declaration
public static IUnityContainer RegisterFactory(this IUnityContainer container, Type type, Func<IUnityContainer, Type, string, object> factory, IFactoryLifetimeManager lifetimeManager = null)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type type

Type to register (may be an implemented interface instead of the actual type).

Func<IUnityContainer, Type, String, Object> factory

Predefined

Func<IUnityContainer, Type, string, object>
to create types

IFactoryLifetimeManager lifetimeManager

The LifetimeManager that controls the lifetime of the returned instance. This manager has to derive from IFactoryLifetimeManager

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on .

Remarks

This overload does a default registration and has the current container take over the lifetime of the factory.

| Improve this Doc View Source

RegisterFactory(IUnityContainer, Type, String, Func<IUnityContainer, Object>, IFactoryLifetimeManager)

Register a Factory with the container.

Declaration
public static IUnityContainer RegisterFactory(this IUnityContainer container, Type type, string name, Func<IUnityContainer, object> factory, IFactoryLifetimeManager lifetimeManager = null)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type type

Type to register (may be an implemented interface instead of the actual type).

String name

Name for registration.

Func<IUnityContainer, Object> factory

Predefined

Func<IUnityContainer, object>
to create types

IFactoryLifetimeManager lifetimeManager

The LifetimeManager that controls the lifetime of the returned instance. This manager has to derive from IFactoryLifetimeManager

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Remarks

This overload does a default registration and has the current container take over the lifetime of the factory.

| Improve this Doc View Source

RegisterFactory(IUnityContainer, Type, String, Func<IUnityContainer, Type, String, Object>, IFactoryLifetimeManager)

Register a Factory with the container.

Declaration
public static IUnityContainer RegisterFactory(this IUnityContainer container, Type type, string name, Func<IUnityContainer, Type, string, object> factory, IFactoryLifetimeManager lifetimeManager = null)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type type

Type to register (may be an implemented interface instead of the actual type).

String name

Name for registration.

Func<IUnityContainer, Type, String, Object> factory

Predefined

Func<IUnityContainer, Type, string, object>
to create types

IFactoryLifetimeManager lifetimeManager

The LifetimeManager that controls the lifetime of the returned instance. This manager has to derive from IFactoryLifetimeManager

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on .

Remarks

This overload does a default registration and has the current container take over the lifetime of the factory.

| Improve this Doc View Source

RegisterFactory<TInterface>(IUnityContainer, Func<IUnityContainer, Object>, IFactoryLifetimeManager)

Register a Factory with the container.

Declaration
public static IUnityContainer RegisterFactory<TInterface>(this IUnityContainer container, Func<IUnityContainer, object> factory, IFactoryLifetimeManager lifetimeManager = null)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Func<IUnityContainer, Object> factory

Predefined

Func<IUnityContainer, object>
to create types

IFactoryLifetimeManager lifetimeManager

The LifetimeManager that controls the lifetime of the returned instance. If no manager is provided, container uses Transient manager.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
TInterface

Type of instance to register (may be an implemented interface instead of the full type).

Remarks

This overload does a default registration and has the current container take over the lifetime of the factory.

| Improve this Doc View Source

RegisterFactory<TInterface>(IUnityContainer, Func<IUnityContainer, Type, String, Object>, IFactoryLifetimeManager)

Register a Factory with the container.

Declaration
public static IUnityContainer RegisterFactory<TInterface>(this IUnityContainer container, Func<IUnityContainer, Type, string, object> factory, IFactoryLifetimeManager lifetimeManager = null)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Func<IUnityContainer, Type, String, Object> factory

Predefined

Func<IUnityContainer, Type, string, object>
to create types

IFactoryLifetimeManager lifetimeManager

The LifetimeManager that controls the lifetime of the returned instance. If no manager is provided, container uses Transient manager.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on .

Type Parameters
Name Description
TInterface

Type of instance to register (may be an implemented interface instead of the full type).

Remarks

This overload does a default registration and has the current container take over the lifetime of the factory.

| Improve this Doc View Source

RegisterFactory<TInterface>(IUnityContainer, String, Func<IUnityContainer, Object>, IFactoryLifetimeManager)

Register a Factory with the container.

Declaration
public static IUnityContainer RegisterFactory<TInterface>(this IUnityContainer container, string name, Func<IUnityContainer, object> factory, IFactoryLifetimeManager lifetimeManager = null)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

String name

Name for registration.

Func<IUnityContainer, Object> factory

Predefined

Func<IUnityContainer, object>
to create types

IFactoryLifetimeManager lifetimeManager

The LifetimeManager that controls the lifetime of the returned instance. If no manager is provided, container uses Transient manager.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
TInterface

Type of instance to register (may be an implemented interface instead of the full type).

Remarks

This overload does a default registration and has the current container take over the lifetime of the factory.

| Improve this Doc View Source

RegisterFactory<TInterface>(IUnityContainer, String, Func<IUnityContainer, Type, String, Object>, IFactoryLifetimeManager)

Register a Factory with the container.

Declaration
public static IUnityContainer RegisterFactory<TInterface>(this IUnityContainer container, string name, Func<IUnityContainer, Type, string, object> factory, IFactoryLifetimeManager lifetimeManager = null)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

String name

Name for registration.

Func<IUnityContainer, Type, String, Object> factory

Predefined

Func<IUnityContainer, Type, string, object>
to create types

IFactoryLifetimeManager lifetimeManager

The LifetimeManager that controls the lifetime of the returned instance. If no manager is provided, container uses Transient manager.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on .

Type Parameters
Name Description
TInterface

Type of instance to register (may be an implemented interface instead of the full type).

Remarks

This overload does a default registration and has the current container take over the lifetime of the factory.

| Improve this Doc View Source

RegisterInstance(IUnityContainer, Type, Object)

Register an instance with the container.

Declaration
public static IUnityContainer RegisterInstance(this IUnityContainer container, Type t, object instance)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type t

Type of instance to register (may be an implemented interface instead of the full type).

Object instance

Object to returned.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Remarks

Instance registration is much like setting a type as a singleton, except that instead of the container creating the instance the first time it is requested, the user creates the instance ahead of type and adds that instance to the container.

This overload does a default registration and has the container take over the lifetime of the instance.

| Improve this Doc View Source

RegisterInstance(IUnityContainer, Type, Object, IInstanceLifetimeManager)

Register an instance with the container.

Declaration
public static IUnityContainer RegisterInstance(this IUnityContainer container, Type t, object instance, IInstanceLifetimeManager lifetimeManager)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type t

Type of instance to register (may be an implemented interface instead of the full type).

Object instance

Object to returned.

IInstanceLifetimeManager lifetimeManager

LifetimeManager object that controls how this instance will be managed by the container.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Remarks

Instance registration is much like setting a type as a singleton, except that instead of the container creating the instance the first time it is requested, the user creates the instance ahead of type and adds that instance to the container.

This overload does a default registration (name = null).

| Improve this Doc View Source

RegisterInstance(IUnityContainer, Type, String, Object)

Register an instance with the container.

Declaration
public static IUnityContainer RegisterInstance(this IUnityContainer container, Type t, string name, object instance)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type t

Type of instance to register (may be an implemented interface instead of the full type).

String name

Name for registration.

Object instance

Object to returned.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Remarks

Instance registration is much like setting a type as a singleton, except that instead of the container creating the instance the first time it is requested, the user creates the instance ahead of type and adds that instance to the container.

This overload automatically has the container take ownership of the instance.

| Improve this Doc View Source

RegisterInstance<TInterface>(IUnityContainer, TInterface)

Register an instance with the container.

Declaration
public static IUnityContainer RegisterInstance<TInterface>(this IUnityContainer container, TInterface instance)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

TInterface instance

Object to returned.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
TInterface

Type of instance to register (may be an implemented interface instead of the full type).

Remarks

Instance registration is much like setting a type as a singleton, except that instead of the container creating the instance the first time it is requested, the user creates the instance ahead of type and adds that instance to the container.

This overload does a default registration and has the container take over the lifetime of the instance.

| Improve this Doc View Source

RegisterInstance<TInterface>(IUnityContainer, TInterface, IInstanceLifetimeManager)

Register an instance with the container.

Declaration
public static IUnityContainer RegisterInstance<TInterface>(this IUnityContainer container, TInterface instance, IInstanceLifetimeManager lifetimeManager)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

TInterface instance

Object to returned.

IInstanceLifetimeManager lifetimeManager

LifetimeManager object that controls how this instance will be managed by the container.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
TInterface

Type of instance to register (may be an implemented interface instead of the full type).

Remarks

Instance registration is much like setting a type as a singleton, except that instead of the container creating the instance the first time it is requested, the user creates the instance ahead of type and adds that instance to the container.

This overload does a default registration (name = null).

| Improve this Doc View Source

RegisterInstance<TInterface>(IUnityContainer, String, TInterface)

Register an instance with the container.

Declaration
public static IUnityContainer RegisterInstance<TInterface>(this IUnityContainer container, string name, TInterface instance)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

String name

Name for registration.

TInterface instance

Object to returned.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
TInterface

Type of instance to register (may be an implemented interface instead of the full type).

Remarks

Instance registration is much like setting a type as a singleton, except that instead of the container creating the instance the first time it is requested, the user creates the instance ahead of type and adds that instance to the container.

This overload automatically has the container take ownership of the instance.

| Improve this Doc View Source

RegisterInstance<TInterface>(IUnityContainer, String, TInterface, IInstanceLifetimeManager)

Register an instance with the container.

Declaration
public static IUnityContainer RegisterInstance<TInterface>(this IUnityContainer container, string name, TInterface instance, IInstanceLifetimeManager lifetimeManager)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

String name

Name for registration.

TInterface instance

Object to returned.

IInstanceLifetimeManager lifetimeManager

LifetimeManager object that controls how this instance will be managed by the container.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
TInterface

Type of instance to register (may be an implemented interface instead of the full type).

Remarks

Instance registration is much like setting a type as a singleton, except that instead of the container creating the instance the first time it is requested, the user creates the instance ahead of type and adds that instance to the container.

| Improve this Doc View Source

RegisterSingleton(IUnityContainer, Type, String, InjectionMember[])

Register a LifetimeManager for the given type and name with the container. No type mapping is performed for this type.

Declaration
public static IUnityContainer RegisterSingleton(this IUnityContainer container, Type t, string name, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type t

The Type to configure in the container.

String name

Name to use for registration, null if a default registration.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

| Improve this Doc View Source

RegisterSingleton(IUnityContainer, Type, Type, String, InjectionMember[])

Register a type mapping with the container.

Declaration
public static IUnityContainer RegisterSingleton(this IUnityContainer container, Type from, Type to, string name, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type from

Type that will be requested.

Type to

Type that will actually be returned.

String name

Name to use for registration, null if a default registration.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Remarks

This method is used to tell the container that when asked for type from, actually return an instance of type to. This is very useful for getting instances of interfaces.

| Improve this Doc View Source

RegisterSingleton(IUnityContainer, Type, Type, InjectionMember[])

Register a type mapping with the container.

Declaration
public static IUnityContainer RegisterSingleton(this IUnityContainer container, Type from, Type to, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type from

Type that will be requested.

Type to

Type that will actually be returned.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Remarks

This method is used to tell the container that when asked for type from, actually return an instance of type to. This is very useful for getting instances of interfaces.

This overload registers a default mapping.

| Improve this Doc View Source

RegisterSingleton(IUnityContainer, Type, InjectionMember[])

Register a type with specific members to be injected.

Declaration
public static IUnityContainer RegisterSingleton(this IUnityContainer container, Type t, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type t

Type this registration is for.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

| Improve this Doc View Source

RegisterSingleton<T>(IUnityContainer, String, InjectionMember[])

Register type as a singleton.

Declaration
public static IUnityContainer RegisterSingleton<T>(this IUnityContainer container, string name, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

String name

Name that will be used to request the type.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
T

The type to configure injection on.

| Improve this Doc View Source

RegisterSingleton<T>(IUnityContainer, InjectionMember[])

Register a type with specific members to be injected as singleton.

Declaration
public static IUnityContainer RegisterSingleton<T>(this IUnityContainer container, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
T

Type this registration is for.

| Improve this Doc View Source

RegisterSingleton<TFrom, TTo>(IUnityContainer, String, InjectionMember[])

Register a type mapping as singleton.

Declaration
public static IUnityContainer RegisterSingleton<TFrom, TTo>(this IUnityContainer container, string name, params InjectionMember[] injectionMembers)
    where TTo : TFrom
Parameters
Type Name Description
IUnityContainer container

Container to configure.

String name

Name of this mapping.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
TFrom

Type that will be requested.

TTo

Type that will actually be returned.

Remarks

This method is used to tell the container that when asked for type TFrom, actually return an instance of type TTo. This is very useful for getting instances of interfaces.

| Improve this Doc View Source

RegisterSingleton<TFrom, TTo>(IUnityContainer, InjectionMember[])

Register a type mapping with the container.

Declaration
public static IUnityContainer RegisterSingleton<TFrom, TTo>(this IUnityContainer container, params InjectionMember[] injectionMembers)
    where TTo : TFrom
Parameters
Type Name Description
IUnityContainer container

Container to configure.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
TFrom

Type that will be requested.

TTo

Type that will actually be returned.

Remarks

This method is used to tell the container that when asked for type TFrom, actually return an instance of type TTo. This is very useful for getting instances of interfaces.

This overload registers a default mapping and transient lifetime.

| Improve this Doc View Source

RegisterType(IUnityContainer, Type, String, InjectionMember[])

Register a LifetimeManager for the given type and name with the container. No type mapping is performed for this type.

Declaration
public static IUnityContainer RegisterType(this IUnityContainer container, Type t, string name, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type t

The Type to configure in the container.

String name

Name to use for registration, null if a default registration.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

| Improve this Doc View Source

RegisterType(IUnityContainer, Type, String, ITypeLifetimeManager, InjectionMember[])

Register a LifetimeManager for the given type and name with the container. No type mapping is performed for this type.

Declaration
public static IUnityContainer RegisterType(this IUnityContainer container, Type t, string name, ITypeLifetimeManager lifetimeManager, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type t

The Type to apply the lifetimeManager to.

String name

Name to use for registration, null if a default registration.

ITypeLifetimeManager lifetimeManager

The LifetimeManager that controls the lifetime of the returned instance.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

| Improve this Doc View Source

RegisterType(IUnityContainer, Type, Type, String, InjectionMember[])

Register a type mapping with the container.

Declaration
public static IUnityContainer RegisterType(this IUnityContainer container, Type from, Type to, string name, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type from

Type that will be requested.

Type to

Type that will actually be returned.

String name

Name to use for registration, null if a default registration.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Remarks

This method is used to tell the container that when asked for type from, actually return an instance of type to. This is very useful for getting instances of interfaces.

| Improve this Doc View Source

RegisterType(IUnityContainer, Type, Type, InjectionMember[])

Register a type mapping with the container.

Declaration
public static IUnityContainer RegisterType(this IUnityContainer container, Type from, Type to, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type from

Type that will be requested.

Type to

Type that will actually be returned.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Remarks

This method is used to tell the container that when asked for type from, actually return an instance of type to. This is very useful for getting instances of interfaces.

This overload registers a default mapping.

| Improve this Doc View Source

RegisterType(IUnityContainer, Type, Type, ITypeLifetimeManager, InjectionMember[])

Register a type mapping with the container, where the created instances will use the given LifetimeManager.

Declaration
public static IUnityContainer RegisterType(this IUnityContainer container, Type from, Type to, ITypeLifetimeManager lifetimeManager, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type from

Type that will be requested.

Type to

Type that will actually be returned.

ITypeLifetimeManager lifetimeManager

The LifetimeManager that controls the lifetime of the returned instance.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

| Improve this Doc View Source

RegisterType(IUnityContainer, Type, InjectionMember[])

Register a type with specific members to be injected.

Declaration
public static IUnityContainer RegisterType(this IUnityContainer container, Type t, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type t

Type this registration is for.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

| Improve this Doc View Source

RegisterType(IUnityContainer, Type, ITypeLifetimeManager, InjectionMember[])

Register a LifetimeManager for the given type and name with the container. No type mapping is performed for this type.

Declaration
public static IUnityContainer RegisterType(this IUnityContainer container, Type t, ITypeLifetimeManager lifetimeManager, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

Type t

The Type to apply the lifetimeManager to.

ITypeLifetimeManager lifetimeManager

The LifetimeManager that controls the lifetime of the returned instance.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

| Improve this Doc View Source

RegisterType<T>(IUnityContainer, String, InjectionMember[])

Register a LifetimeManager for the given type with the container. No type mapping is performed for this type.

Declaration
public static IUnityContainer RegisterType<T>(this IUnityContainer container, string name, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

String name

Name that will be used to request the type.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
T

The type to configure injection on.

| Improve this Doc View Source

RegisterType<T>(IUnityContainer, String, ITypeLifetimeManager, InjectionMember[])

Register a LifetimeManager for the given type and name with the container. No type mapping is performed for this type.

Declaration
public static IUnityContainer RegisterType<T>(this IUnityContainer container, string name, ITypeLifetimeManager lifetimeManager, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

String name

Name that will be used to request the type.

ITypeLifetimeManager lifetimeManager

The LifetimeManager that controls the lifetime of the returned instance.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
T

The type to apply the lifetimeManager to.

| Improve this Doc View Source

RegisterType<T>(IUnityContainer, InjectionMember[])

Register a type with specific members to be injected.

Declaration
public static IUnityContainer RegisterType<T>(this IUnityContainer container, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
T

Type this registration is for.

| Improve this Doc View Source

RegisterType<T>(IUnityContainer, ITypeLifetimeManager, InjectionMember[])

Register a LifetimeManager for the given type with the container. No type mapping is performed for this type.

Declaration
public static IUnityContainer RegisterType<T>(this IUnityContainer container, ITypeLifetimeManager lifetimeManager, params InjectionMember[] injectionMembers)
Parameters
Type Name Description
IUnityContainer container

Container to configure.

ITypeLifetimeManager lifetimeManager

The LifetimeManager that controls the lifetime of the returned instance.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
T

The type to apply the lifetimeManager to.

| Improve this Doc View Source

RegisterType<TFrom, TTo>(IUnityContainer, String, InjectionMember[])

Register a type mapping with the container.

Declaration
public static IUnityContainer RegisterType<TFrom, TTo>(this IUnityContainer container, string name, params InjectionMember[] injectionMembers)
    where TTo : TFrom
Parameters
Type Name Description
IUnityContainer container

Container to configure.

String name

Name of this mapping.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
TFrom

Type that will be requested.

TTo

Type that will actually be returned.

Remarks

This method is used to tell the container that when asked for type TFrom, actually return an instance of type TTo. This is very useful for getting instances of interfaces.

| Improve this Doc View Source

RegisterType<TFrom, TTo>(IUnityContainer, String, ITypeLifetimeManager, InjectionMember[])

Register a type mapping with the container, where the created instances will use the given LifetimeManager.

Declaration
public static IUnityContainer RegisterType<TFrom, TTo>(this IUnityContainer container, string name, ITypeLifetimeManager lifetimeManager, params InjectionMember[] injectionMembers)
    where TTo : TFrom
Parameters
Type Name Description
IUnityContainer container

Container to configure.

String name

Name to use for registration, null if a default registration.

ITypeLifetimeManager lifetimeManager

The LifetimeManager that controls the lifetime of the returned instance.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
TFrom

Type that will be requested.

TTo

Type that will actually be returned.

| Improve this Doc View Source

RegisterType<TFrom, TTo>(IUnityContainer, InjectionMember[])

Register a type mapping with the container.

Declaration
public static IUnityContainer RegisterType<TFrom, TTo>(this IUnityContainer container, params InjectionMember[] injectionMembers)
    where TTo : TFrom
Parameters
Type Name Description
IUnityContainer container

Container to configure.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
TFrom

Type that will be requested.

TTo

Type that will actually be returned.

Remarks

This method is used to tell the container that when asked for type TFrom, actually return an instance of type TTo. This is very useful for getting instances of interfaces.

This overload registers a default mapping and transient lifetime.

| Improve this Doc View Source

RegisterType<TFrom, TTo>(IUnityContainer, ITypeLifetimeManager, InjectionMember[])

Register a type mapping with the container, where the created instances will use the given LifetimeManager.

Declaration
public static IUnityContainer RegisterType<TFrom, TTo>(this IUnityContainer container, ITypeLifetimeManager lifetimeManager, params InjectionMember[] injectionMembers)
    where TTo : TFrom
Parameters
Type Name Description
IUnityContainer container

Container to configure.

ITypeLifetimeManager lifetimeManager

The LifetimeManager that controls the lifetime of the returned instance.

InjectionMember[] injectionMembers

Injection configuration objects.

Returns
Type Description
IUnityContainer

The IUnityContainer object that this method was called on.

Type Parameters
Name Description
TFrom

Type that will be requested.

TTo

Type that will actually be returned.

| Improve this Doc View Source

Resolve(IUnityContainer, Type, ResolverOverride[])

Resolve an instance of the default requested type from the container.

Declaration
public static object Resolve(this IUnityContainer container, Type t, params ResolverOverride[] overrides)
Parameters
Type Name Description
IUnityContainer container

Container to resolve from.

Type t

Type of object to get from the container.

ResolverOverride[] overrides

Any overrides for the resolve call.

Returns
Type Description
Object

The retrieved object.

| Improve this Doc View Source

Resolve<T>(IUnityContainer, String, ResolverOverride[])

Resolve an instance of the requested type with the given name from the container.

Declaration
public static T Resolve<T>(this IUnityContainer container, string name, params ResolverOverride[] overrides)
Parameters
Type Name Description
IUnityContainer container

Container to resolve from.

String name

Name of the object to retrieve.

ResolverOverride[] overrides

Any overrides for the resolve call.

Returns
Type Description
T

The retrieved object.

Type Parameters
Name Description
T

Type of object to get from the container.

| Improve this Doc View Source

Resolve<T>(IUnityContainer, ResolverOverride[])

Resolve an instance of the default requested type from the container.

Declaration
public static T Resolve<T>(this IUnityContainer container, params ResolverOverride[] overrides)
Parameters
Type Name Description
IUnityContainer container

Container to resolve from.

ResolverOverride[] overrides

Any overrides for the resolve call.

Returns
Type Description
T

The retrieved object.

Type Parameters
Name Description
T

Type of object to get from the container.

| Improve this Doc View Source

ResolveAll(IUnityContainer, Type, ResolverOverride[])

Return instances of all registered types requested.

Declaration
public static IEnumerable<object> ResolveAll(this IUnityContainer container, Type type, params ResolverOverride[] resolverOverrides)
Parameters
Type Name Description
IUnityContainer container

Container to resolve from.

Type type

The type requested.

ResolverOverride[] resolverOverrides

Any overrides for the resolve calls.

Returns
Type Description
IEnumerable<Object>

Set of objects of type type.

Remarks

This method is useful if you've registered multiple types with the same Type but different names.

Be aware that this method does NOT return an instance for the default (unnamed) registration.

| Improve this Doc View Source

ResolveAll<T>(IUnityContainer, ResolverOverride[])

Return instances of all registered types requested.

Declaration
public static IEnumerable<T> ResolveAll<T>(this IUnityContainer container, params ResolverOverride[] resolverOverrides)
Parameters
Type Name Description
IUnityContainer container

Container to resolve from.

ResolverOverride[] resolverOverrides

Any overrides for the resolve calls.

Returns
Type Description
IEnumerable<T>

Set of objects of type T.

Type Parameters
Name Description
T

The type requested.

Remarks

This method is useful if you've registered multiple types with the same Type but different names.

Be aware that this method does NOT return an instance for the default (unnamed) registration.

  • Improve this Doc
  • View Source
In This Article
Back to top Copyright © 2020 .NET Foundation and Contributors. All Rights Reserved