配置容器configuring Containsers

容器可以在运行时配置,相反的也可以通过应用程序的配置文件(或扩展配置文件)来配置。

Unity的三个高级功能:泛型装饰链、解析器重写和数组注入。

1、配置开放式泛型来解析封闭式泛型

  只要不是为封闭型泛型指定更具体的类型,就通过开放型泛型来配置适用于任何封闭型类型。

  <register type="IRepository[]" mapTo="DebugRepository[]"/>

  容器将自动解析IRepository<StockQuote>为DebugRepository<StockQuote>;

2、泛型装饰链

  在实际的开发中还会用到装饰模式,可以配置Unity容器来支持装饰类的注入;

  使用ParameterOverride()方法,可以对类型参数重写;并通过OnType()加以限定;否则将会出现异常;

3、数组注入

  容器提供了ResolvedArrayParameter为构造函数或属性提供值

  ResolvedArrayParameter<接口或基类>(成员1,成员2,...)

 

  

posted @ 2016-05-11 12:30  Ny.z  阅读(155)  评论(0编辑  收藏  举报