【发布时间】:2015-06-03 12:38:36
【问题描述】:
我遇到了一些看起来像这样的代码:
var something = this.container.Resolve<ICatManager>();
在网络配置中有一个从ICatManager 到CatManager 的映射。
但是,CatManager 有一个带有 2 个参数的构造函数,并且没有默认构造函数。
unity 如何创建它的实例?
【问题讨论】:
-
该类型的配置中是否有构造函数部分?否则它可以只使用
default值吗? -
配置中没有其他内容。试图找到一些关于统一如何处理它的文档,但我的搜索返回了“我如何指定参数”的结果页面
-
msdn.microsoft.com/en-us/library/… - 也许这提供了一个答案? (自动构造函数注入)
-
也许构造函数参数的类型也被统一注册/映射?在那种情况下,统一只是递归地解决它们。如果参数类型本身有 parameterless 构造函数,即使没有映射,unity 也可以为它们中的每一个创建一个实例。
-
@Abbondanza 是的,情况就是这样,它在我提供的链接中说明了这一点。
标签: c# unity-container