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"));