Unity InjectionFactory工厂函数参数含义

时间:2016-05-12 14:56:00

标签: unity-container ioc-container

在Unity 3中,我们为InjectionFactory

提供了以下构造函数
public InjectionFactory(Func<IUnityContainer, Type, string, object> factoryFunc)

有人能告诉我最后三个参数Type,string,object?

的含义是什么

1 个答案:

答案 0 :(得分:1)

InjectionFactory本身只需要一个Func形式的委托。使用输入参数声明func 类型和字符串,而'object'是返回对象。

这个func声明是必需的,因为它传递给Unity的ObjectBuilder,它负责为解析时创建对象创建构建计划。此构建器需要运行构建或拆除操作的上下文。构建器上下文以NamedTypeBuildKey的形式保存一个键,这是对象构建器跟踪正在构建的内容的方式。

Type是构建键的类型,而字符串与用于查找类型映射的构建键的名称相关。

因此,'type'和'string'参数都与Unity使用的构建密钥相关,以跟踪创建容器中注册的对象的计划。