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 パラメーターが (参照によって) 同じである限り、同じオブジェクトが返されます。
それを達成する方法を知っていますか?