Вам не нужно вызывать вещи в экземпляре при создании - Windsor автоматически добавит вещи , когда имя параметра в сигнатуре фабричного метода совпадает с чем-то, что может быть введено - будь то параметры конструктора или публичные свойства ... краткий пример (использование публичной собственности):
interface ISomeFactory
{
Something CreateSomething(object dataSource);
}
class Something
{
public object DataSource { get; set; }
}
Учитывая, что они зарегистрированы так:
container.Register(Component.For<ISomeFactory>().AsFactory(),
Component.For<Something>().Lifestyle.Transient)
вы можете разрешить экземпляры Something
следующим образом:
var aintThatSomething = someFactory.CreateSomething(new [] {"ZOMG!", "w00t!"});
Помните, что если что-то внутри бремени, связанного с экземпляром Something
, требует вывода из эксплуатации, вам также необходимо предоставить соответствующий метод Release
на заводе.