有沒有一種方法可以將調用與FromAssembliesMatching結合起來以自動設置大多數接口並使用一些顯式綁定?我有以下的代碼應該將所有自動ISomething的東西,然後建立了地方的具體落實接受兩個布爾變量作爲自變量的IUnitOfWork接口的特定構造:FromAssembliesMatching覆蓋明確設置的綁定
kernel.Bind(x => x.FromAssembliesMatching("*.dll").SelectAllClasses()
.InNamespaces("MyNamespace").BindDefaultInterface());
kernel.Bind<IUnitOfWork>().ToConstructor(x => new UnitOfWork(true, false));
然而,當我嘗試調用TryGet這樣我得到一個空回:
kernel.TryGet<MyNamespace.IUnitOfWork>()
它正常工作時,我周圍的切換順序和呼叫的第二個電話不包括對執行的UnitOfWork明確:
kernel.Bind<IUnitOfWork>().ToConstructor(x => new UnitOfWork(true, false));
kernel.Bind(x => x.FromAssembliesMatching("*.dll").SelectAllClasses()
.InNamespaces("MyNamespace").Excluding(typeof(UnitOfWork))
.BindDefaultInterface());
顛倒順序,或者在嘗試解析IUnitOfWork的實例時再次將調用排除在空外。
結合自動匹配和顯式配置的正確方法是什麼?我正在使用Ninject 3.2.0.0和Ninject.Extensions.Conventions 3.2.0.0。