Я использую Castle Windsor 3.3 и имею ViewModel, которому нужен экземпляр IMachine
. Эти данные недоступны до выполнения, поэтому я пытаюсь использовать Typed Factory.Как передать зависимость от замка Windsor Typed Factory
public MachDataViewModel(IMachine mach)
{
_mach = machCfg;
}
public interface IEquipmentDataFactory
{
IEquipmentData Create(IMachine mach);
void Release(IMachine mach);
}
Вот мой регистрационный код:
container.AddFacility<TypedFactoryFacility>();
container.Register(
Component.For<IWindsorContainer>().Instance(container),
Component.For<IEquipmentData>().ImplementedBy<EquipmentData>(),
Component.For<IMachine>().ImplementedBy<Machine>(),
Component.For<IEquipmentDataFactory>().AsFactory());
Когда я вызываю метод Create, он впрыскивает вновь экземпляра объекта, а не один я прохожу. Если я удалю запись Component.For<IMachine>
в своей регистрации, это даст мне недостающую зависимость.
IEquipmentData ed = null;
IMachine m = GetMachine();
ed = factory.Create(m);
Как я могу заставить Windsor использовать объект, который я перехожу на завод?
Благодаря
@cajundave - Помогла ли эта помощь вам решить вопрос? –