创建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