【发布时间】:2015-09-23 13:29:20
【问题描述】:
我试图让 ninject 使用来自父类的构造函数参数,并在实例化时将其作为参数传递给子类。我将如何进行绑定以使其正确发生?我一直在浏览这些示例,但没有找到解决方案。
public class MyModule : NinjectModule
{
public override void Load()
{
Bind<ParentClass>().ToSelf();
Bind<ChildClass>().ToSelf();
}
}
public class ParentClass
{
private string _index;
private ChildClass _childClass;
public ParentClass(string index, ChildClass childClass)
{
_index = index;
_childClass = childClass;
}
}
public class ChildClass
{
private string _index;
public ChildClass(string index)
{
_index = index;
}
public string Index { get; set; }
}
var kernel = new StandardKernel(new MyModule());
kernel.Get<ParentClass>(new ConstructorArgument("index", "MyIndex"));
所以当我创建我的 ParentClass 实例时,我希望里面的 ChildClass 具有相同的索引值。
【问题讨论】:
-
@Dennisch 参数现在可以定义为具有
Inherited,因此您链接到的答案现在是......我们称之为取代。