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"));
}
答案 0 :(得分:1)
你试过吗
IA a = n.Get<IA>(new ConstructorArgument("x", "BLE", true));
(true flag =&gt;继承)?
您可以继承ConstructorArgument
(如果它不是继承的,它只适用于直接解析的类型 - 在本例中为A
),或者您可以调整B的绑定并添加参数( ConstructorArgument
)。