Example #1
0
            private static Lifestyle ChooseLife(IoCInfraLifeCycle life)
            {
                switch (life)
                {
                case IoCInfraLifeCycle.New: return(Lifestyle.Transient);

                case IoCInfraLifeCycle.Singleton: return(Lifestyle.Singleton);

                default: return(Lifestyle.Scoped);
                }
            }
Example #2
0
 /// <summary>
 /// Register a interface and implementation in container
 /// </summary>
 /// <param name="T1">Interface</param>
 /// <param name="T2">implementation</param>
 /// <param name="life">Lifecycle of the instance</param>
 /// <param name="args">Parameters of contructor</param>
 public static void Register(Type T1, Type T2, IoCInfraLifeCycle life = IoCInfraLifeCycle.Singleton, params object[] args)
 {
     SimpleContainer.Register(T1, () => Activator.CreateInstance(T2, args), ChooseLife(life));
 }
Example #3
0
 /// <summary>
 /// Register a interface and implementation in container
 /// </summary>
 /// <typeparam name="T1">Interface</typeparam>
 /// <typeparam name="T2">Implementation</typeparam>
 /// <param name="life">Lifecycle of the instance</param>
 public static void Register <T1, T2>(IoCInfraLifeCycle life = IoCInfraLifeCycle.Singleton)
     where T1 : class
     where T2 : class
 {
     SimpleContainer.Register(typeof(T1), typeof(T2), ChooseLife(life));
 }
Example #4
0
 /// <summary>
 /// Register a interface and implementation in container
 /// </summary>
 /// <param name="T1">Interface</param>
 /// <param name="T2">Implementation</param>
 /// <param name="life">Lifecycle of the instance</param>
 public static void Register(Type T1, Type T2, IoCInfraLifeCycle life = IoCInfraLifeCycle.Singleton)
 {
     SimpleContainer.Register(T1, T2, ChooseLife(life));
 }
Example #5
0
 /// <summary>
 /// Register a interface and implementation in container
 /// </summary>
 /// <typeparam name="T1">Interface</typeparam>
 /// <typeparam name="T2">Implementation</typeparam>
 /// <param name="args">Parameters of contructor</param>
 /// <param name="life">Lifecycle of the instance</param>
 public static void Register <T1, T2>(IoCInfraLifeCycle life = IoCInfraLifeCycle.Singleton, params object[] args)
     where T1 : class
     where T2 : class
 {
     SimpleContainer.Register <T1>(() => (T1)Activator.CreateInstance(typeof(T2), args), ChooseLife(life));
 }