我有一个接口和两个实现它的类。其中一个在其构造函数中有一个参数。我在app.config中将它们都注册为服务。不幸的是,我无法在我的代码中解决这两个问题:不返回带有构造函数的类。
E.g:
interface ITest
{
}
class Test : ITest
{
private string a;
public Test(string a)
{
this.a = a;
}
}
class Test2 : ITest
{
}
这是我的配置:
<castle>
<components>
<component id="Test" type="XYZ.Test, XYZ" service="XYZ.ITest, XYZ"/>
<component id="Test2" type="XYZ.Test2, XYZ" service="XYZ.ITest, XYZ"/>
</components>
</castle>
以下是我尝试在代码中获取服务的方式:
ITest[] resolveAll = container.ResolveAll<ITest>(new {a ="aText" });
数组“resolveAll”仅包含“Test2”但没有“Test”的痕迹。如何获得这两个课程?
我注意到如果我用id“Test”解决:
object resolve = container.Resolve("Test", new { sessionId = "sessionId" });
我获得了'测试'课程。
我做错了什么?
答案 0 :(得分:0)
其实我在旧版的温莎城堡。在最后一个版本(3.1)上,这可行。