Обновление
Мне удалось обойти это.Теперь я проверяю, можно ли разрешить зависимость.Если нет, я поищу конструктор без параметров (через Reflection) и назову его.Но я думаю, что это часть работы Ninjects ... так что все же это скорее обходной путь, чем реальное решение.
Оригинальный вопрос
public class Test
{
public Test(INavigationService asd)
{
// rnd stuff
}
public Test()
{
// other rnd stuff
}
}
У меня естьэтот тестовый класс.Теперь я хочу два экземпляра, созданных Ninject.Поэтому я делаю следующее:
Test test = Kernel.Get<Test>();
и запускаю исключение: «Ninject.ActivationException: Ошибка при активации INavigationService».
Если я переупорядочиваю конструкторы следующим образом
public class Test
{
public Test()
{
// other rnd stuff
}
public Test(INavigationService asd)
{
// rnd stuff
}
}
это работает.Но я не могу быть уверен, что каждый класс, который я использую с Ninject, имеет свои конструкторы в «правильном» порядке.Итак, есть ли способ сказать Ninject, что он не должен игнорировать конструктор без параметров, если он не первый?
Заранее спасибо.