【发布时间】:2012-01-26 07:16:08
【问题描述】:
免责声明:我对 DI 和 IoC 还很陌生,请原谅任何严重的误解。
考虑一个ClassB,它需要一个实现IClassA 的对象。 Ninject 应该能够将ClassA 的实例注入ClassB 的构造函数,假设它可以构造ClassA 的实例:
public class ClassA : IClassA
{
public ClassA(string runtimeDependency) { /* ... */ }
}
public class ClassB : IClassB
{
public ClassB(IClassA depA) { /* ... */ }
}
public sealed class TestBootstrapModule : NinjectModule
{
public override void Load()
{
Bind<IClassA>().To<ClassA>();
Bind<IClassB>().To<ClassB>();
}
}
现在,假设一些运行时逻辑涉及派生提供给ClassA 的string runtimeDependency。我应该如何为 Ninject 提供runtimeDependency,以便它可以为ClassB 提供ClassA 的实例?
字符串只会被确定一次,所以我不需要为每个实例注入一个新值。
【问题讨论】:
标签: c# .net dependency-injection inversion-of-control ninject