gpt4 book ai didi

inversion-of-control - 如何用城堡温莎覆盖组件?

转载 作者:行者123 更新时间:2023-12-03 14:41:58 25 4
gpt4 key购买 nike

我想在给定的 Windsor 容器中重新定义一个(默认)实现。这是 OverWrite 的用途吗?不过没用。

container.Register(
Component.For<IServiceOperationAuthorization>()
.OverWrite()
.Instance(_authorization)
);

还有其他想法吗?

干杯,
拉斯

最佳答案

您可以非常简单地在需要覆盖默认实现的地方执行此操作。这是我们集成测试中的一个示例。这两种实现现在都已注册,但您的代码将使用默认的一种,即您刚刚注册的一种。像炸弹一样工作,对应用程序的其余部分没有任何影响:

        var sendMailStub = MockRepository.GenerateStub<ISendMail>();
_container.Register(
Component
.For<ISendMail>()
.Instance(sendMailStub)
.IsDefault()
);

关于inversion-of-control - 如何用城堡温莎覆盖组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/658344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com