使用城堡windsor的构造函数的两个字符串值

时间:2015-11-17 18:42:10

标签: c# castle-windsor

我目前正在尝试这个:

var dependencies = new Dependency[2];
dependencies[0] = Dependency.OnValue("x", "xV");
dependencies[1] = Dependency.OnValue("y", "yV");
container.Register(
    Component.For<IBla>().ImplementedBy<BlaConcrete>().DependsOn(dependencies));

不幸的是,它似乎不起作用。例外是:

Could not resolve non-optional dependency

简化混凝土看起来像这样:

public class Bla : IBla
{
    private readonly string _x;
    private readonly string _y;

    public Bla(string x, string y)
    {
        _x = x;
        _y = y;
    }
]

1 个答案:

答案 0 :(得分:2)

代码中必须有其他内容导致问题,因为在空项目中,此代码按预期工作:

Resolve

bla来电之后设置断点显示"xV""yV"angular.module(...).controller('MyController', ['dep1', dep2', ..., MyControllerFunction]); function MyControllerFunction(dep1, dep2) {...} 作为其内部成员的值。

在检查抛出的异常以获取更多详细信息(我保证还有更多)之后,我建议将部分应用程序分段删除以查看哪些对此有影响。或者,从这样的空项目开始,添加可能影响此项目的应用程序部分。