Ninject: Как связать интерфейс в зависимости от целевой сборки - PullRequest
4 голосов
/ 20 января 2012

У меня есть интерфейс, реализованный двумя разными классами. Тогда, как я могу сказать Ninject, что я хочу связать его с реализацией A в некоторой сборке и с реализацией B в какой-то другой сборке?

1 Ответ

5 голосов
/ 20 января 2012

Вы можете использовать контекстную привязку :

Bind<IFoo>.To<Foo>.When(request =>
    request.Target.Type.Assembly.FullName == "someAssembly");
Bind<IFoo>.To<Bar>.When(request =>
    request.Target.Type.Assembly.FullName == "someOtherAssembly");
...