Допустит, у меня есть следующие классы:Resolve зависимость с параметром
class A
{
// reference to B
private B _b;
// constructor for A
public A(B b)
{
_b = b;
}
}
class B
{
private A _a;
// constructor for B
public B()
{
// initialize A and give it a reference on self
a = new A(this);
}
}
Как заменить ручную инициализацию, с введением зависимостей, учитывая инвентарь соответствующего интерфейса IA, и у меня есть соответствующие привязки в моем Ninject конфигурация:
.Bind<IA>().To<A>().InTransientScope();
Любой обходной путь приветствуется :)
PS Это приложение WPF.
Bind IB к B перед переплетом IA А. Он должен решить автоматически - Это зависит от того, что вы используете. –
И Редактировать конструктор A, public A (IB b), а не B –
Вы должны разбить циклическую зависимость, извлекая общую логику из B или A в новый класс C. Вы вводите C в A и B. – Steven