|
|
1
1
可以使用命名实例而不是命名容器。可以使用Unity注册命名实例,如下所示:
然后,要解析正确的实例,可以使用以下语法:
另一个选择是用一些接口(例如IUnitOfWork2)装饰另一个UnitOfWork类。然后将UnitOfWork2注册到IUnitOfWork2,并在需要时通过新接口解析实例。 尽管你提到你不想重构ServiceLocator.GetInstance-方法。我仍然认为最简单的方法是添加 并使用命名实例。如果这是不可能的,您可以注册一个工厂类到IUnitOfWork并使用它来获得正确的UnitOfWork实现。这是一个 short guide 关于如何与联合注册工厂。请注意,最新版本的Unity可能有不同的方法来实现这一点。也, here's a question 从堆栈溢出处理统一容器和工厂。 |
|
|
Filip · .使用自定义属性的NET Unity拦截 8 年前 |
|
|
Wayne Allen · 团结一致解析具有依赖项注入的类 8 年前 |
|
|
Simsons · 无法创建Unity接口的实例 9 年前 |
|
|
Denis · 在Unity中不指定泛型类型就可以注册泛型接口吗? 9 年前 |
|
|
AITea · 使用昆丹增强SDK时出错 9 年前 |