Ninject: Как связать открытый шаблон с более чем одним аргументом типа? - PullRequest
24 голосов
/ 19 июля 2011

Я использую Ninject 2.2 и пытаюсь установить привязку для открытого универсального объекта, который принимает два аргумента типа.Согласно этому ответу от qes, правильный синтаксис для привязки IRepository<T> к Repository<T> таков:

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

Приведенный выше синтаксис работает отлично, если IRepository принимает только один типаргумент, но прерывается, если требуется больше (дает Using the generic type 'Repository<T,U>' requires 2 type arguments ошибка времени компиляции.)

Как связать IRepository<T,U> с Repository<T,U>?

Спасибо.

1 Ответ

43 голосов
/ 19 июля 2011
Bind(typeof(IRepository<,>)).To(typeof(Repository<,>));

Попробуйте это ....

...