我刚开始使用 Windsor,所以请保持温和 :) 我有一个场景,我希望能够覆盖/替换放置在 windsor 容器内的组件。继续阅读...
在我的产品代码中,我希望能够注册一个实现基类的组件,并使用容器来解析实现者。到目前为止,使用
container.Register(Component.For<LoggerBase>().ImplementedBy<DebugLogger>());
和
container.Resolve<LoggerBase>();
在我的测试中,我想添加一个 stub /模拟实现来覆盖“DebugLogger”实现,这样当我的产品代码调用 container.Resolve<LoggerBase>();
时它获得了重写的实现。
欢迎任何指点!
最佳答案
与其追逐那条路,不如针对不同的场景使用不同的容器实例。每个实例都可以不同地配置。这就是 DI 容器的全部意义。
关于c# - 如何覆盖在 CaSTLe Windsor 中注册的组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1687574/