【发布时间】:2014-09-25 16:42:51
【问题描述】:
我在 StructureMap 中找不到任何遍历依赖关系图的机制。 我的问题如下:
Coordinator 类有两个依赖项:ServiceA 和 ServiceB。
ServiceA 和 ServiceB 都有一个依赖项:CustomWebClient。
CustomWebClient 有一个依赖项:Logger。
我必须将Logger 的不同实现注入CustomWebClient。这取决于CustomWebClient是注入ServiceA还是ServiceB。
我发现的唯一条件机制是基于父类型和根类型,但在我的情况下没有帮助。是否可以在 StructureMap 中进行配置?
【问题讨论】:
-
应该能够创建一个新的
CustomWebClientB,它派生自CustomWebClient,它依赖于LoggerB?如果ParentType是ServiceB,则有条件地使用它。 -
谢谢,但我真的不想那样做。实际情况比较复杂,我将其简化以表达问题的本质。在我们的项目中,有 6 种服务。除此之外,
CustomWebClient有几个装饰器。我想避免再创建 18 个类。 -
是的,这改变了一切。
标签: c# .net dependency-injection structuremap