我正在使用附加的图像来解释我的意思.
我有一些由NInject管理的课程.其中一些具有一些单例实例,而另一些则处于瞬态范围.在图像中,蓝色矩形是单色,红色是瞬态的.处理器依赖于其他类或实例.
我希望每次都使用kernel.Get来获取Processor的实例.但是,每次我想为处理器使用的对象使用不同的值.请参见图像中的Action1和Action2.代码不是真实的,只是为了解释.
有没有现成的方法可以满足我的需求?
Jer*_*ang 40
您应该能够传递构造函数参数,因为您的处理器将这些依赖项作为构造函数中的参数.
var foo = new Ninject.Parameters.ConstructorArgument("foo", new Foo());
var bar = new Ninject.Parameters.ConstructorArgument("bar", new Bar());
var processor = kernel.Get<IProcessor>(foo, bar);
public Processor (Foo foo, Bar bar){
this.foo = foo;
this.bar = bar;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12953 次 |
| 最近记录: |