Я новичок в Ninject и изо всех сил стараюсь пройти этот тест. (Этот тест прошел с Autofac, но поведение в Ninject отличается от другого).Разрешение неназванного Ninject multi-binding
[Test]
public void RegisterInstance_unnamed_should_return_unnamed_when_multiple_registrations()
{
var sut = new StandardKernel();
var instance1 = new Dependency3();
var instance2 = new Dependency3();
sut.Bind<Dependency3>().ToConstant(instance1).Named("instance1");
sut.Bind<Dependency3>().ToConstant(instance2);
sut.Get<Dependency3>("instance1").ShouldBeSameAs(instance1);
sut.Get<Dependency3>().ShouldBeSameAs(instance2);
}
Когда я звоню в последнюю строку я получаю это сообщение об исключении:
Ninject.ActivationException: Ошибка активирующей Dependency3
Нет соответствующие привязки не доступны, и тип не является самим-Привязываемым ,
Активация пути: 1) Запрос Dependency3
Как устранить привязку, которая не называется, когда есть несколько привязок?
Благодаря
На самом деле я верю исключение, которое вы получаете состояния ** Доступно несколько совпадающих привязок **. Если это так, отредактируйте вопрос соответствующим образом. – BatteryBackupUnit
Спасибо, но сообщение об ошибке было «Нет соответствующих привязок». Я уточнил вопрос с точной формулировкой сообщения об исключении. –
Это сообщение может ответить на ваш вопрос: http://stackoverflow.com/questions/5997483/ninject-default-contextual-binding – CarllDev