C# “的Ninject语法;绑定";具有多个参数

C# “的Ninject语法;绑定";具有多个参数,c#,asp.net-mvc,ninject,C#,Asp.net Mvc,Ninject,如何在Ninject语法中使用多个参数,如下所示 Bind<IMyRepository>() .To<SqlMyRepository>() .WithConstructorArgument("connectionString", ConfigurationManager.ConnectionStrings["MyDb"].ConnectionString ); Bind() .至() .WithConstructorArgument(“connectionStrin

如何在Ninject语法中使用多个参数,如下所示

Bind<IMyRepository>()
.To<SqlMyRepository>()
.WithConstructorArgument("connectionString",
 ConfigurationManager.ConnectionStrings["MyDb"].ConnectionString
 );
Bind()
.至()
.WithConstructorArgument(“connectionString”,
ConfigurationManager.ConnectionString[“MyDb”]。ConnectionString
);

如果需要传递多个参数,该怎么办

您可以使用构造函数参数将调用链接到

Bind<IMyRepository>()
    .To<SqlMyRepository>()
    .WithConstructorArgument("connectionString", ConfigurationManager.ConnectionStrings["MyDb"].ConnectionString)
    .WithConstructorArgument("timeout", 10000);
Bind()
.至()
.WithConstructorArgument(“connectionString”,ConfigurationManager.connectionString[“MyDb”].connectionString)
.带有构造函数参数(“超时”,10000);

如果您的参数名称在ctor中更改,则不会出现编译错误,ninject将无法绑定。@seabass这是依赖项注入的缺点,在运行时灵活定义内容可能会导致运行时错误。集成测试应该有助于解决这些问题。