您的位置:首页 > 移动开发 > Unity3D

微软企业库4.1学习笔记(二十六)Unity依赖注入模块3

2010-05-02 23:04 716 查看
  配置运行时支持数组

  

class Foot{
public Foot(IBar[] bars)
{ }
}

container.Configure<InjectedMembers>()
.ConfigureInjectionFor<Foot>(
new InjectionConstructor(new ResolvedArrayParameter<IBar>());

代码

IUnityContainer myContainer = new UnityContainer();
myContainer.Configure<InjectedMembers>()
.ConfigureInjectionFor<MyObject>(
   new InjectionConstructor(12, "Hello Unity!"),
  new InjectionProperty("MyProperty"),
  new InjectionProperty("MyStringProperty", "SomeText"),
  new InjectionMethod("InitializeMe", 42.0,
  new ResolvedParameter(typeof(ILogger), "SpecialLogger")
  )
);

  这种API动态配置注入提供了足够的灵活性,保留了简易、直观的使用方式。

  这种配置注入的API是以InjectionParameterValue的子类为基础。当然在建立注入的时候也可以提供其他类型的对象。根据下面的规则,提供的对象将会被翻译成InjectionParameterValue类型。

  1)如果对象是InjectionParameterValue的子类实例的话,注入系统将会使用这个对象。

  2)如果对象是Type的实例,注入系统会创建一个ResolvedParameter作为注入之后返回的类型。

  3)如果是其他对象,配置API会创建一个InjectionParameterValue实例,容器会产生一个属性注入。

  

未完待续。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: