gpt4 book ai didi

NInject:Get()时如何传递参数?

转载 作者:行者123 更新时间:2023-12-02 06:38:41 25 4
gpt4 key购买 nike

我使用附图来解释我的意思。

  • 我有一些由 NInject 管理的类。其中一些有一些单例实例,另一些则处于 transient 范围内。在图像中,蓝色矩形是单例,红色矩形是 transient 的。处理器依赖于其他类或实例。

  • 我想每次使用kernel.Get获取Processor的实例。但是,每次我想对处理器使用的对象使用不同的值。请参阅图中的 Action1 和 Action2。该代码不是真实的,仅用于解释。

有没有现有的方法可以满足我的需求? Pass parameters when Get

最佳答案

鉴于您的处理器将这些依赖项作为构造函数中的参数,您应该能够传递构造函数参数。

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;
}

关于NInject:Get<T>()时如何传递参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10809392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com