Подтвердить что ты не робот

Универсальный репозиторий Ninject + Bind

Я пытаюсь привязать общий интерфейс IRepository < > к моему универсальному репозиторию < > - однако он всегда возвращает null?

Я пробовал разные вещи вроде:

Bind(typeof(IRepository<CustomerModel>)).To(typeof(Repository<CustomerModel>)); 
Bind(typeof(IRepository<>)).To(typeof(Repository<>)); 

Однако, если я перехожу в не общий интерфейс и класс, тогда он работает как сон?

4b9b3361

Ответ 1

Bind(typeof(IRepository<>)).To(typeof(Repository<>));

Это правильный синтаксис для привязки открытого общего.

Если вы возвращаете null обратно при запросе IRepository < of whatever > , тогда может возникнуть какая-то другая проблема в области кода, который вы не использовали.

Ответ 2

См. мой ответ на конструктор MVC3 Controller + Ninject.

Общее связывание работает правильно в Ninject. Попробуйте использовать конструктор без параметров в репозитории. Я думаю, проблема там.