Le programme actuel entraîne une exception stackoverflow dont je sais pourquoi. Comment pourrais-je éviter la dépendance circulaire ici. Comment puis-je rendre les trois classes indépendantes l'une de l'autre bien que les classes soient dépendantes les unes des autres (imaginez simplement que les méthodes à l'intérieur de ces classes se réfèrent mutuellement).Comment éviter la dépendance circulaire dans ce scénario?
namespace CircularDependency_1
{
class Program
{
static void Main(string[] args)
{
A a = new A();
B b = new B();
Console.WriteLine("executed");
Console.ReadLine();
}
}
public class B
{
public A a;
public B()
{
a = new A();
Console.WriteLine("Creating B");
}
}
public class A
{
public B b;
public A()
{
b = new B();
Console.WriteLine("Creating A");
}
}
public class C
{
public A a;
public B b;
public C()
{
a = new A();
b = new B();
Console.WriteLine("Creating C");
}
}
}
pourquoi 'new'-ing' A' et ' B' dans le constructeur de l'autre? Quelles sont les raisons derrière cela? Qu'est-ce qu'on s'attend à faire? Vous voulez juste 1 A et 1B instance et ils se réfèrent les uns aux autres? Sans ces informations, votre question est simplement: J'ai une classe 'class A {A() {new A(); }} 'et comment devrais-je le réparer? Pas de réponse significative –