Ninject - 绑定嵌套绑定中的参数

时间:2015-04-14 12:00:20

标签: c# dependency-injection ninject

Coul有人请告诉我如何解决以下代码创建的错误并将正确的值传递给" x" " B"

的构造函数中的参数

我得到:其他信息:激活字符串

时出错
    interface IA { }

    class A : IA
    {
        public A(IB b) { }
    }

    interface IB { }

    class B : IB
    {
        public B(string x) { }
    }

    class Main() {
        IKernel n = new StandardKernel();
        n.Bind<IA>().To<A>();
        n.Bind<IB>().To<B>();
        IA a = n.Get<IA>(new ConstructorArgument("x", "BLE"));
    }

1 个答案:

答案 0 :(得分:1)

你试过吗

IA a = n.Get<IA>(new ConstructorArgument("x", "BLE", true));

(true flag =&gt;继承)?

您可以继承ConstructorArgument(如果它不是继承的,它只适用于直接解析的类型 - 在本例中为A),或者您可以调整B的绑定并添加参数( ConstructorArgument)。