私はMVC3アプリケーションでNinjectを使用しており、ninject.extensions.conventionsを使用したコンベンションベースのバインディングに切り替えようとしています。
ここで、次のようなアプリケーション設定にアクセスする必要があるクラスがあるとします。
public class Foo : IFoo
{
public Foo(string connectionString)
{ ... }
}
私はこのようにNinjectで通常のバインディングを行う方法を理解していると思います:
Bind<IFoo>()
.To<Foo>()
.WithConstructorArgument(
"connectionString",
ConfigurationManager.ConnectionStrings["Default"].ConnectionString);
しかし、代わりに規則を使用してこれを行うにはどうすればよいですか?
必要に応じて追加情報:
私はnugetNinject.MVC3パッケージを使用しており、App_Start / NinjectWebCommon.csのRegisterServicesでは、これが現在持っているすべてです。
kernel.Bind(x => x
.FromAssembliesMatching("*")
.SelectAllClasses()
.BindDefaultInterface());