/// <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; } }
/// <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; } }
/// <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; } }