【发布时间】:2015-05-13 02:10:59
【问题描述】:
假设我有一个我想以特定方式初始化的主要组件,我让它的构造函数为此目的使用一个接口。有没有办法在我的xml中定义我想要的这个接口的实现,然后将它作为参数注入到主组件中?像这样:
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>
或者我认为这一切都错了,有一种更简单的方法可以实现这一点?我希望能够做的主要事情是配置在创建 IComponent2 时将注入的 IComponent1 的“种类”。谢谢
【问题讨论】:
标签: dependency-injection castle-windsor