/// <summary> /// 初始化IOC /// </summary> public static void RegisterIoc(IocType iocType = IocType.Autofac) { if (_autoFacServicesCollection == null #if NETSTANDARD && _diServicesCollection == null #endif ) { IocLoader.iocType = iocType; if (iocType == IocType.Autofac) { _autoFacServicesCollection = new ContainerBuilder(); _autoFacServicesCollection.RegisterModule(new Loader.AutofacModule()); } #if NETSTANDARD else if (iocType == IocType.DependencyInjection) { _diServicesCollection = DiServices.UseDependencyInjection(); } #endif else { throw new ArgumentOutOfRangeException("IocType 参数类型不正确!"); } } else { throw new Exception("不能重复调用!"); } }
/// <summary> /// 初始化 /// </summary> /// <param name="dependencyConfigModule">依赖注入配置模块</param> /// <param name="type">Ioc类型</param> /// <param name="kernel">Ninject的kernel</param> public static void Initialize(object dependencyConfigModule, IocType type = IocType.Ninject, object kernel = null) { if (type == IocType.Ninject) { dependencyResolver = new NinjectDependencyResolver(dependencyConfigModule, kernel); } if (type == IocType.Autofac) { dependencyResolver = new AutofacDependencyResolver(dependencyConfigModule, kernel); } }
/// <summary> /// 初始化 /// </summary> /// <param name="dependencyConfigModuleAssemblyStrings">依赖注入配置模块程序集</param> /// <param name="type">Ioc类型</param> /// <param name="dependencyConfigModuleNameSpaceStrings">依赖注入配置模块程序集命名空间</param> public static void Initialize(IEnumerable <string> dependencyConfigModuleAssemblyStrings, IocType type = IocType.Ninject, IEnumerable <string> dependencyConfigModuleNameSpaceStrings = null) { if (type == IocType.Ninject) { dependencyResolver = new NinjectDependencyResolver(dependencyConfigModuleAssemblyStrings, dependencyConfigModuleNameSpaceStrings); } if (type == IocType.Autofac) { dependencyResolver = new AutofacDependencyResolver(dependencyConfigModuleAssemblyStrings, dependencyConfigModuleNameSpaceStrings); } }