/// <summary> /// Ioc特性,系统初始化时仅自动注入标记了此特性的容器 /// </summary> /// <param name="baseType">基类型,reslove时需要的类型</param> /// <param name="moduleName">模块名称,reslove时第二参数</param> /// <param name="containerLifeStyle">生命周期</param> /// <param name="paras">构造函数参数传入</param> public ContainerAttribute(Type baseType, string moduleName = "", ContainerLifeStyle containerLifeStyle = ContainerLifeStyle.InTime, object[] paras = null) { this.BaseType = baseType; this.ModuleName = moduleName; this.ContainerLifeStyle = containerLifeStyle; this.Paras = paras; }
/// <summary> /// 强行覆盖注册,可用于原型模式的原型刷新 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="registerType"></param> /// <param name="lifeStyle"></param> /// <param name="moduleName"></param> /// <param name="paras"></param> public void RegisterNew <T>(Type registerType, ContainerLifeStyle lifeStyle, string moduleName, object[] paras = null) { AddContainer(registerType, new ContainerAttribute(typeof(T), moduleName, lifeStyle, paras), true); }