У меня есть проект, использующий Dependency Injection
(Ninject), где у меня есть следующий класс:
public class SecurityService : BaseService
{
ISecurityRepository _securityRepo = null;
public SecurityService(ISecurityRepository securityRepo)
{
_securityRepo = securityRepo;
}
}
Поскольку на BaseService
будут ссылаться во многих других классах обслуживания, я хотел добавить тудаметод, который также идет в хранилище данных и получает некоторую информацию, поэтому мне не нужно повторять один и тот же код для других классов обслуживания.
Вот что у меня есть для BaseRepository
:
public partial class BaseService
{
IEntityRepository _entityRepo = null;
public BaseService(IEntityRepository entityRepo)
{
_entityRepo = entityRepo;
}
public Settings AppSettings
{
get
{
return _entityRepo.GetEntitySettings();
}
}
}
Но при компиляции я получаю следующую ошибку:
There is no argument given that corresponds to the required formal parameter 'entityRepo' of 'BaseService.BaseService(IEntityRepository)'
И эта ошибка имеет смысл, потому что теперь у меня есть конструктор, который яЯ думаю, что-то ожидает.
Есть какие-нибудь подсказки, как это исправить, но у меня все еще может быть инъекция зависимостей в BaseRepository
классе?
ОБНОВЛЕНИЕ
Я только что попытался удалить конструктор и использовать атрибут [Inject]
, но при отладке я вижу, что _entityRepo
это NULL
.