Dr.*_*ABT 3 c# dependency-injection castle-windsor
我有一个像这样的构造函数的类
public class BlotterService : IBlotterService
{
public BlotterService(IAService aService, IAnotherService anotherService)
{
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
和这样的注册依赖
// Default lifecycle is Singleton
Component.For<IAnotherService >().ImplementedBy<AnotherService >()
Component.For<IAService>().ImplementedBy<AService>() // instance 1 of AService
Component.For<IAService>().ImplementedBy<AService>().Named(
"aServiceAlternativeForBlotter") // instance 2 of AService
Component.For<IBlotterService>().ImplementedBy<BlotterService>()
Run Code Online (Sandbox Code Playgroud)
通常,当需要IAService的类被实例化时,我想要第一个AService实例,但是在BlotterService的特定情况下,我想要AService的实例2.
如何在城堡容器中注册BlotterService/AService来实现这一目标?
编辑:更新
我正在使用Castle 2.5.1.0,遗憾的是无法升级.
将上次注册更改为:
Component
.For<IBlotterService>()
.ImplementedBy<BlotterService>()
.DependsOn(Dependency.OnComponent(
typeof(IAService),
"aServiceAlternativeForBlotter"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2414 次 |
| 最近记录: |