我想在给定的Windsor容器中重新定义(默认)实现。那是OverWrite的目的吗?但是不起作用。
container.Register(
Component.For<IServiceOperationAuthorization>()
.OverWrite()
.Instance(_authorization)
);
还有其他想法吗?
干杯,
拉尔斯
最佳答案
您可以非常简单地在需要覆盖默认实现的位置执行此操作。这是我们集成测试的一个例子。现在已经注册了这两种实现,但是您的代码将使用默认的一种,即您刚注册的一种。像炸弹一样工作,对其余应用程序没有任何影响:
var sendMailStub = MockRepository.GenerateStub<ISendMail>();
_container.Register(
Component
.For<ISendMail>()
.Instance(sendMailStub)
.IsDefault()
);