Unity 指定参数

构造函数参数初始化

InjectionConstructor

IContainer.RegisterType<T, Class>(new InjectionConstructor("Param1", new Class()));

注册的时候已经对构造函数参数进行了初始化,调用的时候我们想更换原先注册的值

ParameterOverride和ParameterOverrides

ParameterOverride是针对一个参数

ParameterOverrides是针对参数列表

对构造函数有两个参数的类进行注册,第一个参数是字符串,第二个参数是类

IContainer.Resolve<T>(new ParameterOverride("Para1", "Para"),new ParameterOverride("Para2", "Class").OnType<Class>());

  
 

属性的注册初始化

InjectionProperty  重载属性 PropertyOverride和PropertyOverrides

IContainer.RegisterType<T, Class>(new InjectionProperty("Property1", "Value1"),new InjectionProperty("Property2", "Value2"));

重新指定属性 

var Class = IContainer.Resolve<IClass>(new PropertyOverride("Property1", "Value1"),new PropertyOverride("Property2", "Value2"));

猜你喜欢

转载自www.cnblogs.com/Jeely/p/10950579.html