創建MainClass時調用public MyWindsorClass(IMyInterface obj){}並在創建MainClass2時公共MyWindsorClass(IMyInterface obj){}也在我期望調用public MyWindsorClass(){}時被調用。我究竟做錯了什麼?我遇到了構造函數注入的問題。這裏有一個例子:構造函數注入問題
class Program
{
static void Main(string[] args)
{
var container = new WindsorContainer(new XmlInterpreter());
var objs = container.ResolveAll<IMyWindsorInterface>();
}
}
public interface IMyWindsorInterface { }
public class MyWindsorClass : IMyWindsorInterface
{
public MyWindsorClass() {}
public MyWindsorClass(IMyInterface obj) {}
}
public interface IMyInterface { }
public class MyInjectedClass : IMyInterface{ }
<castle>
<components>
<component id="MainClass"
service="CastleTest.IMyWindsorInterface, CastleTest"
type="CastleTest.MyWindsorClass, CastleTest"
inspectionBehavior="None"
lifestyle="Transient">
<parameters>
<obj>${blah}</obj>
</parameters>
</component>
<component id="MainClass2"
service="CastleTest.IMyWindsorInterface, CastleTest"
type="CastleTest.MyWindsorClass, CastleTest"
inspectionBehavior="None"
lifestyle="Transient" />
<component id="blah"
service="CastleTest.IMyInterface, CastleTest"
type="CastleTest.MyInjectedClass, CastleTest"
inspectionBehavior="None"/>
</components>
</castle>
當MainClass創建公共MyWindsorClass(IMyInterface的OBJ){}被調用,在創建時MainClass2公共MyWindsorClass(IMyInterface的OBJ){}當我期待公衆MyWindsorClass(也被稱爲) {} 被稱爲。我究竟做錯了什麼?感謝任何人,可以幫助!
@邁克爾:請參見http://meta.stackexchange。 com/questions/16721/how-does-accept-rate-work – 2011-03-14 17:33:42
我覺得所有這些問題中的所有問題答案都沒有回答。所以我應該接受一個答案時,它從來沒有回答我的問題? – 2011-03-14 17:41:37
沒問題。無論如何,任何人都可以回答我的問題,我將非常樂意接受你。:) – 2011-03-14 18:39:21