[英]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.