所以,假设我可以画画:

假设我有一个类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时使用相同的实例。CA
忘了提到我确实希望在每个网络请求的生活方式中做到这一点,而不是单例或瞬态。