![]() |
1
8
为了完整性,我应该添加另一个在Unity2下工作的答案,因为我的另一个答案不再有效。因为您需要制定一个自定义的构建器策略,所以它稍微涉及一些。感谢Unity项目的CTavares,他在 this thread 在实施过程中:
|
![]() |
2
5
更新 这个答案是为了统一1.2。关于与Unity2一起工作的解决方案,请参阅我的另一个答案。
好的,我自己已经实现了扩展。在构建器中,我缓存对象,因为我希望它是一个单独的w.r.t我的容器。原因
添加扩展非常简单:
|
![]() |
3
5
Unity(V2)允许您指定工厂。它允许两个不同的函数,包括使用类型构建/名称等。简单示例:
有一个简单的创建测试方法-但这可以扩展到任何你想要的工厂。
|
![]() |
4
-1
Unity容器已经充当了一个知道如何构造(和执行)任意类型的工厂,因此接受T类型的工厂看起来是多余的。你能详细解释一下为什么这是不可能的吗? 如果这真的是不可能的(更可能是太多的工作),那么也许你可以用容器来注册你的工厂? |
![]() |
Filip · .使用自定义属性的NET Unity拦截 7 年前 |
![]() |
Wayne Allen · 团结一致解析具有依赖项注入的类 7 年前 |
![]() |
Simsons · 无法创建Unity接口的实例 7 年前 |
![]() |
Denis · 在Unity中不指定泛型类型就可以注册泛型接口吗? 7 年前 |
![]() |
AITea · 使用昆丹增强SDK时出错 7 年前 |