Допустим, у меня есть основной компонент, который я хочу инициализировать определенным образом, и у меня есть его конструктор с интерфейсом для этой цели. Есть ли способ определить реализацию, которую я хочу для этого интерфейса в моем xml, и, в свою очередь, ввести это в основной компонент в качестве параметра? Например:Могу ли я передать другие компоненты в конфигурацию Castle Windsor?
public interface IComponent2 {
void DoStuff();
}
public class ConcreteCompImpl2 : IComponent2 {
IComponent1 _comp;
public ConcreteCompImpl2(IComponent1 comp) {
_comp = comp;
}
public void DoStuff(){
//do stuff
}
}
<component id="component1" service="ABC.IComponent1, ABC" type="ABC.ConcreteCompImpl1, ABC" />
<component id="component2" service="ABC.IComponent2, ABC" type="ABC.ConcreteCompImpl2, ABC" >
<parameters>
<component1>???</component1>
</parameters>
</component>
Или я думаю об этом все неправильно, и есть намного более простой способ сделать это? Главное, что я хочу сделать, - настроить, что «вид» IComponent1 будет вводиться всякий раз, когда создается IComponent2. Спасибо