我有接口ITest和类Test,它实现了ITest:
public Test : ITest{...}
我有这样的课程:
public class MyClass
{
ITest test;
public MyClass(){...}
}
有没有办法在Ninjection的测试变量中设置新的Test()示例?我想在构造函数中删除这段代码:
public MyClass()
{
test = new Test();
}
谢谢!
答案 0 :(得分:0)
我建议你使用构造函数注入,例如:
public class MyClass {
private readonly ITest _test;
[Inject]
public MyClass(ITest test) {
_test = test;
}
}
这提供了类依赖关系的可见性,即MyClass
依赖于ITest
的实例。只要您在容器中注册ITest
实例,Ninject就会自动为您处理此依赖注入。
或者,您可以使用属性/字段注入:
public class MyClass {
public MyClass() { }
[Inject]
public ITest Test { get; set; }
}
public class MyClass {
[Inject] private ITest _test;
public MyClass() { }
}