Class Container
A dependency injection container.
Namespace: Evergine.Framework
Assembly: Evergine.Framework.dll
Syntax
public class Container
Constructors
Container()
Initializes a new instance of the Container class.
Declaration
public Container()
Methods
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
Declaration
public void Dispose()
IsRegistered(Type)
Returns true if type is registered in the container or its open generic
definition is registered in the container.
Declaration
public bool IsRegistered(Type type)
Parameters
| Type | Name | Description |
|---|---|---|
| Type | type | The type to be checked. |
Returns
| Type | Description |
|---|---|
| bool |
|
IsRegistered<T>()
Returns true if T is registered in the container OR its open generic
definition is registered in the container.
Declaration
public bool IsRegistered<T>()
Returns
| Type | Description |
|---|---|
| bool |
|
Type Parameters
| Name | Description |
|---|---|
| T | The type to check. |
Register(Type, Func<object>, bool)
Registers the type type for all implemented internal interfaces and base classes.
Declaration
public void Register(Type type, Func<object> factoryDelegate = null, bool reuse = true)
Parameters
| Type | Name | Description |
|---|---|---|
| Type | type | The type to be registered. |
| Func<object> | factoryDelegate | [Optional] Custom method to be used every time Resolve(Type) is called. It overrides |
| bool | reuse | [Optional] Set to false to create a new instance every time |
Register(Type, Type, Func<object>, bool)
Registers a mapped_type implemented by imp_type.
Declaration
public void Register(Type mapped_type, Type imp_type, Func<object> factoryDelegate = null, bool reuse = true)
Parameters
| Type | Name | Description |
|---|---|---|
| Type | mapped_type | The type to be registered. |
| Type | imp_type | The implementation type to be registered. |
| Func<object> | factoryDelegate | [Optional] Custom method to be used every time Resolve(Type) is called. It overrides |
| bool | reuse | [Optional] Set to false to create a new instance every time |
RegisterFactoryDelegate<TImplementation>(Func<TImplementation>)
Registers a delegate to create instances.
Declaration
[Obsolete("Use Register<TImplementation>(Func<object> factoryDelegate) method instead")]
public void RegisterFactoryDelegate<TImplementation>(Func<TImplementation> factoryMethod)
Parameters
| Type | Name | Description |
|---|---|---|
| Func<TImplementation> | factoryMethod | The factory method. |
Type Parameters
| Name | Description |
|---|---|
| TImplementation | The object type. |
RegisterInstance<TImplementation>(TImplementation)
Stores the externally-created instance in the singleton.
Declaration
public void RegisterInstance<TImplementation>(TImplementation instance)
Parameters
| Type | Name | Description |
|---|---|---|
| TImplementation | instance | The externally-created instance. |
Type Parameters
| Name | Description |
|---|---|
| TImplementation | The implementation type to be registered. |
RegisterInterceptor(ContainerInterceptor)
Registers a container interceptor.
Declaration
public void RegisterInterceptor(ContainerInterceptor containerInterceptor)
Parameters
| Type | Name | Description |
|---|---|---|
| ContainerInterceptor | containerInterceptor | The container interceptor. |
RegisterType<TImplementation>(bool)
Registers the implementation type TImplementation for all implemented internal interfaces and base classes.
Declaration
[Obsolete("Use Register<TImplementation>() method instead")]
public void RegisterType<TImplementation>(bool singleton = true) where TImplementation : new()
Parameters
| Type | Name | Description |
|---|---|---|
| bool | singleton | Set to false to create a new instance every time the type is resolved. Defaults to true. |
Type Parameters
| Name | Description |
|---|---|
| TImplementation | The implementation type to be registered. |
Register<TImplementation>(Func<TImplementation>, bool)
Registers the implementation type TImplementation for all implemented internal interfaces and base classes.
Declaration
public void Register<TImplementation>(Func<TImplementation> factoryDelegate = null, bool reuse = true)
Parameters
| Type | Name | Description |
|---|---|---|
| Func<TImplementation> | factoryDelegate | [Optional] Custom method to be used each time Resolve(Type) is called. It overrides |
| bool | reuse | [Optional] Set to false to create a new instance each time |
Type Parameters
| Name | Description |
|---|---|
| TImplementation | The implementation type to be registered. |
Register<T, TImplementation>(Func<TImplementation>, bool)
Registers a T type implemented by TImplementation type.
Declaration
public void Register<T, TImplementation>(Func<TImplementation> factoryDelegate = null, bool reuse = true)
Parameters
| Type | Name | Description |
|---|---|---|
| Func<TImplementation> | factoryDelegate | [Optional] Custom method to be used every time Resolve(Type) is called. It overrides |
| bool | reuse | [Optional] Set to false to create a new instance every time |
Type Parameters
| Name | Description |
|---|---|
| T | The type to be registered. |
| TImplementation | The implementation type to be registered. |
Resolve(Type)
Resolves an instance of the specified type from the container.
Declaration
public object Resolve(Type type)
Parameters
| Type | Name | Description |
|---|---|---|
| Type | type | The type to be resolved. |
Returns
| Type | Description |
|---|---|
| object | An instance of the specified type, or null if not registered. |
ResolveMany(Type)
Returns an instance for each registered type and subtype of .
Declaration
public IEnumerable<object> ResolveMany(Type type)
Parameters
| Type | Name | Description |
|---|---|---|
| Type | type | The type to be resolved. |
Returns
| Type | Description |
|---|---|
| IEnumerable<object> | An enumerable collection containing all registered instances. |
ResolveMany<T>()
Returns all registered instances of type T from the container.
Declaration
public IEnumerable<T> ResolveMany<T>()
Returns
| Type | Description |
|---|---|
| IEnumerable<T> | An enumerable collection containing all registered instances. |
Type Parameters
| Name | Description |
|---|---|
| T | The type to be resolved. |
Resolve<T>()
Resolves instance of type T from the container.
Declaration
public T Resolve<T>()
Returns
| Type | Description |
|---|---|
| T | An instance of the specified type or null if not registered. |
Type Parameters
| Name | Description |
|---|---|
| T | The type to be resolved. |
Unregister(Type)
Removes specified registration from container.
Declaration
public void Unregister(Type type)
Parameters
| Type | Name | Description |
|---|---|---|
| Type | type | The type to be unregistered. |
Unregister<T>()
Removes specified registration from container.
Declaration
public void Unregister<T>()
Type Parameters
| Name | Description |
|---|---|
| T | The type to be unregistered. |
Unregister<T>(T)
Removes specified registration from container.
Declaration
public void Unregister<T>(T instance)
Parameters
| Type | Name | Description |
|---|---|---|
| T | instance | The intance to be unregistered. |
Type Parameters
| Name | Description |
|---|---|
| T | The type to be unregistered. |