Я бы рекомендовал использовать инжектор конструктора, например:
public class MyClass {
private readonly ITest _test;
[Inject]
public MyClass(ITest test) {
_test = test;
}
}
Это обеспечивает видимость зависимости класса, т. Е. MyClass
зависит от экземпляра ITest
.Ninject будет автоматически обрабатывать эту инъекцию зависимостей для вас, если вы зарегистрировали экземпляр ITest
в контейнере.
В качестве альтернативы, вы можете использовать инъекцию свойства / поля:
public class MyClass {
public MyClass() { }
[Inject]
public ITest Test { get; set; }
}
public class MyClass {
[Inject] private ITest _test;
public MyClass() { }
}