簡體   English   中英

Ninject-在嵌套綁定中綁定參數

[英]Ninject - bind a parameter in a nested binding

有人請告訴我如何解決以下代碼創建的錯誤,並將正確的值傳遞給“ B”構造函數中的“ x”參數?

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

    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"));
    }

你有沒有嘗試過

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

(true標志=>繼承)?

您可以繼承ConstructorArgument (如果不繼承,則僅適用於直接解析的類型-在這種情況下為A ),也可以改編B的綁定並為其添加參數( ConstructorArgument )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM