Show / Hide Table of Contents

    Interface IDiContainer

    Interface for DI (Dependency Injection) container.

    Namespace: Kros.Utils
    Assembly: Kros.Utils.dll
    Syntax
    public interface IDiContainer : IDisposable

    Methods

    CreateChildContainer()

    Create a child container.

    Declaration
    IDiContainer CreateChildContainer()
    Returns
    Type Description
    IDiContainer

    The new child container.

    Remarks

    A child container shares the parent's configuration, but can be configured with different settings or lifetime.

    GetInstance(Type)

    Resolves the instance of type instanceType.

    Declaration
    object GetInstance(Type instanceType)
    Parameters
    Type Name Description
    System.Type instanceType

    Type to resolve from container.

    Returns
    Type Description
    System.Object

    Object of type instanceType.

    GetInstance(Type, String)

    Resolves the named instance of type instanceType.

    Declaration
    object GetInstance(Type instanceType, string name)
    Parameters
    Type Name Description
    System.Type instanceType

    Type to resolve from container.

    System.String name

    Name of the desired instance.

    Returns
    Type Description
    System.Object

    Object of type instanceType.

    GetInstance<T>()

    Resolves the instance of type T.

    Declaration
    T GetInstance<T>()
    Returns
    Type Description
    T

    Object of type T.

    Type Parameters
    Name Description
    T

    Type to resolve from container.

    GetInstance<T>(String)

    Resolves the named instance of type T.

    Declaration
    T GetInstance<T>(string name)
    Parameters
    Type Name Description
    System.String name

    Name of the desired instance.

    Returns
    Type Description
    T

    Object of type T.

    Type Parameters
    Name Description
    T

    Type to resolve from container.

    Register<T>()

    Registers a class type.

    Declaration
    IDiContainer Register<T>()
    Returns
    Type Description
    IDiContainer

    Container instance for fluent registration.

    Type Parameters
    Name Description
    T

    Class type.

    Register<T>(Func<IDiContainer, T>)

    Register interface or class type using lambda function.

    Declaration
    IDiContainer Register<T>(Func<IDiContainer, T> lambda)
    Parameters
    Type Name Description
    System.Func<IDiContainer, T> lambda

    Function which takes current DI container as parameter and creates a new instance of T.

    Returns
    Type Description
    IDiContainer
    Type Parameters
    Name Description
    T

    Interface or class type.

    Register<T>(String)

    Registers a class type with name name.

    Declaration
    IDiContainer Register<T>(string name)
    Parameters
    Type Name Description
    System.String name

    Name of the registered class type.

    Returns
    Type Description
    IDiContainer
    Type Parameters
    Name Description
    T

    Class type.

    Register<T>(String, Func<IDiContainer, T>)

    Register named interface or class type using lambda function.

    Declaration
    IDiContainer Register<T>(string name, Func<IDiContainer, T> lambda)
    Parameters
    Type Name Description
    System.String name

    Name of the registered interface or class type.

    System.Func<IDiContainer, T> lambda
    Returns
    Type Description
    IDiContainer
    Type Parameters
    Name Description
    T

    Interface or class type.

    Register<TFrom, TTo>()

    Registers a interface-class pair.

    Declaration
    IDiContainer Register<TFrom, TTo>()
    
        where TTo : TFrom
    Returns
    Type Description
    IDiContainer
    Type Parameters
    Name Description
    TFrom

    Registered interface.

    TTo

    Registered class type that implements TFrom.

    Register<TFrom, TTo>(String)

    Registers a named interface-class pair.

    Declaration
    IDiContainer Register<TFrom, TTo>(string name)
    
        where TTo : TFrom
    Parameters
    Type Name Description
    System.String name

    Name of the registered interface.

    Returns
    Type Description
    IDiContainer
    Type Parameters
    Name Description
    TFrom
    TTo

    RegisterInstance<T>()

    Registers class type as singleton.

    Declaration
    IDiContainer RegisterInstance<T>()
    Returns
    Type Description
    IDiContainer
    Type Parameters
    Name Description
    T

    Registered class type.

    RegisterInstance<T>(T)

    Registers class instance.

    Declaration
    IDiContainer RegisterInstance<T>(T instance)
    Parameters
    Type Name Description
    T instance

    Registered instance.

    Returns
    Type Description
    IDiContainer
    Type Parameters
    Name Description
    T

    Registered class type.

    RegisterInstance<T>(Func<IDiContainer, T>)

    Registers class instance as sigleton using function.

    Declaration
    IDiContainer RegisterInstance<T>(Func<IDiContainer, T> lambda)
    Parameters
    Type Name Description
    System.Func<IDiContainer, T> lambda
    Returns
    Type Description
    IDiContainer
    Type Parameters
    Name Description
    T

    Registered class type.

    RegisterInstance<T>(String)

    Registers class type with name name as singleton.

    Declaration
    IDiContainer RegisterInstance<T>(string name)
    Parameters
    Type Name Description
    System.String name

    Name of the registered class type.

    Returns
    Type Description
    IDiContainer
    Type Parameters
    Name Description
    T

    Registered class type.

    RegisterInstance<T>(String, T)

    Registers class instance.

    Declaration
    IDiContainer RegisterInstance<T>(string name, T instance)
    Parameters
    Type Name Description
    System.String name

    Name of the registered class type.

    T instance

    Registered instance.

    Returns
    Type Description
    IDiContainer
    Type Parameters
    Name Description
    T

    Registered class type.

    RegisterInstance<T>(String, Func<IDiContainer, T>)

    Registers named class instance as sigleton using function.

    Declaration
    IDiContainer RegisterInstance<T>(string name, Func<IDiContainer, T> lambda)
    Parameters
    Type Name Description
    System.String name

    Name, under which is type registered.

    System.Func<IDiContainer, T> lambda
    Returns
    Type Description
    IDiContainer
    Type Parameters
    Name Description
    T

    Registered class type.

    RegisterInstance<TFrom, TTo>()

    Registers a interface-class pair as singleton.

    Declaration
    IDiContainer RegisterInstance<TFrom, TTo>()
    
        where TTo : TFrom
    Returns
    Type Description
    IDiContainer
    Type Parameters
    Name Description
    TFrom
    TTo

    RegisterInstance<TFrom, TTo>(String)

    Registers a named interface to class type pair. class type TTo as a singleton.

    Declaration
    IDiContainer RegisterInstance<TFrom, TTo>(string name)
    
        where TTo : TFrom
    Parameters
    Type Name Description
    System.String name

    Name of the registered class type.

    Returns
    Type Description
    IDiContainer
    Type Parameters
    Name Description
    TFrom
    TTo
    Back to top KROS a.s.