Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用应用程序生存期为每个构造函数参数值创建类的实例_C#_Ninject - Fatal编程技术网

C# 使用应用程序生存期为每个构造函数参数值创建类的实例

C# 使用应用程序生存期为每个构造函数参数值创建类的实例,c#,ninject,C#,Ninject,我有 我只需要一个具有给定queueName的类Sender实例。此实例应相同,并且在应用程序运行时不被释放 我可以使用这样的代码 class Sender : ISender { public Sender(string queueName) { ... } } ISender testSender= Get(新的构造函数参数(“queueName”、“Test”); 使用queueName=“Test”获取对发送方实例的引用 我可以使用什么ninject绑定来实现

我有

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

我可以使用这样的代码

class Sender : ISender
{
    public Sender(string queueName)
    { ...
    }
}
ISender testSender=
Get(新的构造函数参数(“queueName”、“Test”);
使用queueName=“Test”获取对发送方实例的引用

我可以使用什么ninject绑定来实现这一点

我试过了

ISender testSender = 
    Kernel.Get<ISender>(new ConstructorArgument("queueName", "Test"));
Kernel.Bind()到()
.InScope(c=>
c、 Parameters.FirstOrDefault(p=>p.Name==“queueName”).GetValue(c,null));

但它不起作用。

你应该使用。

根据我的说法,对nemesv的重写成功了:-)
Kernel.Bind<ISender>().To<BufferedMessageSender>()
    .InScope(c => 
      c.Parameters.FirstOrDefault(p => p.Name == "queueName").GetValue(c, null));