Итак, давайте предположим, что я могу рисовать в краске:
![Horrible depiction of my problem](https://i.stack.imgur.com/dmoTH.png)
Скажем, у меня есть класс A
, который зависит от объектов B
и C
, которые будут созданы, но C
также зависит от экземпляра B
, и я хочу, чтобы этот экземпляр B
был таким же, как я передаю A
.Как я могу это сделать?
Теперь вы, вероятно, тоже этого не понимали;так что я пойду дальше и превращу это в код:
public class A
{
private readonly B b;
private readonly C c;
public A(B b, C c)
{
this.b = b;
this.c = c;
}
}
public class B
{
}
public class C
{
private readonly B b;
public C(B b)
{
this.b = b;
}
}
Без DI я бы разрешил это так:
var b = new B();
var c = new C(b);
var a = new A(b,c);
Как я могу сделать что-то подобное через DI,чисто?То, что я хочу, довольно просто: используйте один и тот же экземпляр B
при создании экземпляров как C
, так и A
.
. Забыл упомянуть, что я действительно хочу использовать этот метод для каждого веб-запроса, а не для одногоили переходный процесс.