Unity TIP3: 注入现有对象
上篇讲到了3种注入的方式,注入的对象都是由Unity为我们自动创建的。有时候我们需要注入已经存在的对象。
代码如下:
//使用已有实例注入 ISomeBiz someBiz = container.Resolve<ISomeBiz>("ConfigBiz"); someBiz.SomeInt = 101; IClass class11 = container.Resolve<IClass>("ConfigClass1", new ParameterOverride("someBiz", someBiz)); class11.ShowInfo(); IClass class22 = container.Resolve<IClass>("ConfigClass2", new PropertyOverride("SomeBiz",someBiz)); class22.ShowInfo();
可以看到,对于构造器注入和属性注入,Unity都支持既有对象的注入。