我使用 Castle Windsor 作为 IoC 容器,我想根据另一个对象来解析一个对象:
public MyService : IService
{
public MyService(MyObject obj)
{
}
}
在哪里解决:
var service1 = container.Resolve<IService>( new { obj = obj1 });
var service2 = container.Resolve<IService>( new { obj = obj1 });
var service3 = container.Resolve<IService>( new { obj = obj2 });
我希望 service1 与 service2 相同(相同的参考),而 service3 不同。所以我需要一种不同于 Singleton 或 Transient 的生活方式。只要 obj 参数相同(通过引用),就应该返回相同的对象。
你知道如何实现吗?