Скажем, у меня есть такой компонент
public class MyComponent
{
public MyComponent(string name)
{
}
}
В основном я хочу, чтобы при его разрешении предоставленные параметры конструктора работали как часть идентификатора компонента.Если вы никогда не разрешали его с этим набором параметров, он создаст новый экземпляр.
Другими словами, я хочу каким-то образом изменить следующий тест для успешного выполнения:
IWindsorContainer container = new WindsorContainer();
container.Register(Component.For<MyComponent>());
MyComponent a1 = container.Resolve<MyComponent>(new { name = "a" });
MyComponent a2 = container.Resolve<MyComponent>(new { name = "a" });
MyComponent b = container.Resolve<MyComponent>(new { name = "b" });
Assert.AreSame(a1, a2);
Assert.AreNotSame(a1, b);
В настоящее время происходит сбой, потому что он будет создан с именем = a, а затем вернет один и тот же объект для всех будущих имен = a и name = b.
Спасибо!