Ninject предоставляет свободный синтаксис, который позволяет связать до 4 интерфейсов вместе с одним экземпляром:
Bind<IInterface1, IInterface2, IInterface3, IInterface4>().To<Implementation>();
Если нам нужно больше интерфейсов, существует обходной путь:
var bindingConfiguration =
Bind<IInterface1, IInterface2, IInterface3, IInterface4>()
.To<Implementation>()
.BindingConfiguration;
kernel.AddBinding(new Binding(typeof(IInterface5), bindingConfiguration));
Ниже я разместил цитату автора, почему только четыре интерфейса?
Некоторые могут спросить, что если я хочу привязать более четырех интерфейсов к одной и той же службе.В небольшом обсуждении мы пришли к выводу, что если у вас более четырех интерфейсов в одной службе, то, скорее всего, у вас есть проблема с принципом единой ответственности, и вы должны это исправить в первую очередь.
Ссылка на статью Новые возможности и изменения Ninject 3.0