0
接口:
IRepository<T>
IMyModelRepository : IRepository<MyModel>
類:
Repository<T> : IRepository<T>
MyModelRepository : Repository<MyModel>, IMyModelRepository
綁定:
kernel.Bind(typeof(Namespace.IRepository<>)).To(typeof(Namespace.Repository<>)).InRequestScope();
kernel.Bind(typeof(Namespace.IRepositoryInternal<>)).To(typeof(Namespace.Repository<>)).InRequestScope();
kernel.Bind(typeof(Namespace.IMyModelRepository)).To(typeof(NameSpace.MyModelRepository)).InRequestScope();
kernel.Bind(scanner => scanner
.FromAssemblyContaining(typeof(Namespace.SomeService))
.SelectAllClasses()
.Excluding<Namespace.MyModelRepository>()
.BindDefaultInterfaces()
.Configure(binding => binding.InRequestScope()));
注:
readonly IRepository<MyModel> _MyModelRepository; //this is the property, injection is constructor injection
問題:
錯誤激活IRepository {WarningModel} 多於一個匹配的綁定是可用的。 激活路徑: 5)將依賴關係IRepository {MyModel}注入AnotherService類型的構造函數的參數MyModelRepository
我在想什麼?多重綁定在哪裏?
如果這個信息不夠,我可以提供額外的信息。