gpt4 book ai didi

c# - 使用应用程序生命周期为每个构造函数参数值创建一个类的实例

转载 作者:太空宇宙 更新时间:2023-11-03 14:02:58 25 4
gpt4 key购买 nike

我有

class Sender : ISender
{
public Sender(string queueName)
{ ...
}
}

我只想要一个具有给定 queueName 的类 Sender 的实例。这个实例应该是相同的,并且在应用程序运行时不会被释放。

我可以使用这样的代码

ISender testSender = 
Kernel.Get<ISender>(new ConstructorArgument("queueName", "Test"));

使用 queueName = "Test"获取对发送者实例的引用

我可以使用什么 ninject 绑定(bind)来实现它?

我试过了

Kernel.Bind<ISender>().To<BufferedMessageSender>()
.InScope(c =>
c.Parameters.FirstOrDefault(p => p.Name == "queueName").GetValue(c, null));

但它不起作用。

最佳答案

你应该使用 InSingletonScope .

关于c# - 使用应用程序生命周期为每个构造函数参数值创建一个类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10236037/

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