Мне нравится связывать приведенный ниже код с автоматической привязкой Ninject. Можно ли использовать как ручную, так и автоматическую привязку в одном проекте? Давайте возьмем ниже ручную привязку, которую я хочу добиться с помощью автоматической привязки. Пожалуйста, скажите мне, как этого добиться.
kernel.Bind<TestContext>().ToSelf().InRequestScope();
kernel.Bind<IUnitOfWork<TestContext>>().To<UnitOfWork<TestContext>>();
Ниже приведены все интерфейсы, унаследованные от базового интерфейса: IRepository‹ Model >
3 . kernel.Bind<IUserRepository>().To<UserRepository>();
4 . kernel.Bind<IAccountRepository>().To<AccountRepository>();
5 . kernel.Bind<IMessageRepository>().To<MessageRepository>().WithConstructorArgument("apikey", AppSettingsManager.GetSmsApiKey)
Дополнительный
Нужно ли мне писать .Exclude<MessageRepository>()
для нескольких классов? Если мне нужно это сделать, например
.Exclude<ARepository>()
.Exclude<BRepository>()
.Exclude<CRepository>()
?
а для 1 и 2 требуется отдельная ручная привязка? или 1 можно сделать с помощью BindToSelf()' and
.Configure(b => b.InRequestScope())` ?