В моем NinjectConfigurator у меня есть
container.Bind<IClock>().To<SystemClock>();
Я тоже пробовал
container.Bind<IClock>().To<SystemClock>().InSingletonScope();
Но я получаю такую ошибку:
Ошибка активации
IClock
с использованием привязки отIClock
кSystemClock
. Для создания экземпляра этого типа реализации не было доступного конструктора.Путь активации: 3) Внедрение зависимости IClock в часы параметров конструктора типа SystemManager 2) Внедрение зависимости ISystemManager в параметр systemManager конструктора типа AccountController 1) Запрос на AccountController
Предложения: 1) Убедитесь, что у типа реализации есть общедоступный конструктор. 2) Если вы реализовали шаблон Singleton, используйте вместо этого привязку с InSingletonScope ().
Это мой класс с инъекцией, как и все другие рабочие классы с IoC в моем проекте:
private readonly IDateTime _dateTime;
private readonly IClock _clock;
public SystemManager(IDateTime dateTime, IClock clock)
{
this._dateTime = dateTime;
this._clock = clock;
}
Я не мог найти ничего, что могло бы мне помочь в этом. Любая помощь очень ценится.