Esempio n. 1
0
        /// <summary>
        /// 注册泛型(在未Builder之前调用)
        /// </summary>
        /// <param name="implementer"></param>
        /// <param name="interface"></param>
        /// <param name="lifetimeScope"></param>
        public static void RegisterGeneric(Type implementer, Type @interface, EnumLifetimeScope lifetimeScope = EnumLifetimeScope.InstancePerDependency)
        {
            var result = Builder.RegisterGeneric(implementer).As(@interface);

            switch (lifetimeScope)
            {
            case EnumLifetimeScope.InstancePerDependency: result.InstancePerDependency(); break;

            case EnumLifetimeScope.InstancePerLifetimeScope: result.InstancePerLifetimeScope(); break;

            case EnumLifetimeScope.SingleInstance: result.SingleInstance(); break;
            }
        }
Esempio n. 2
0
        /// <summary>
        /// 注册类型(在未Builder之前调用)
        /// </summary>
        /// <param name="type"></param>
        /// <param name="lifetimeScope"></param>
        public static void RegisterType(Type type, EnumLifetimeScope lifetimeScope = EnumLifetimeScope.InstancePerDependency)
        {
            var result = Builder.RegisterType(typeof(Type));

            switch (lifetimeScope)
            {
            case EnumLifetimeScope.InstancePerDependency: result.InstancePerDependency(); break;

            case EnumLifetimeScope.InstancePerLifetimeScope: result.InstancePerLifetimeScope(); break;

            case EnumLifetimeScope.SingleInstance: result.SingleInstance(); break;
            }
        }
Esempio n. 3
0
        /// <summary>
        /// 注册普通类型(在未Builder之前调用)
        /// </summary>
        /// <typeparam name="TImplementer"></typeparam>
        /// <typeparam name="TInterface"></typeparam>
        /// <param name="lifetimeScope"></param>

        public static void Register <TImplementer, TInterface>(EnumLifetimeScope lifetimeScope = EnumLifetimeScope.InstancePerDependency) where TImplementer : TInterface
        {
            var result = Builder.RegisterType <TImplementer>().As <TInterface>();

            switch (lifetimeScope)
            {
            case EnumLifetimeScope.InstancePerDependency: result.InstancePerDependency(); break;

            case EnumLifetimeScope.InstancePerLifetimeScope: result.InstancePerLifetimeScope(); break;

            case EnumLifetimeScope.SingleInstance: result.SingleInstance(); break;
            }
        }