salut tout le monde

après l'exécution de mon code une référence circulaire me génère un stack overflow :


Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/****************   class A *******************/
    public class ClasseA
    {
 
        ClasseB objB = new ClasseB();
 
        int[] table = new int[50000];
 
        public ClasseA()
        {
            TestRefCirculaire.compteur++;
 
            ClasseB objB = new ClasseB();
 
 
 
        }
    }



Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    /***************** class B ***********************/
 
    public class ClasseB
    {
        ClasseA objA = new ClasseA();
 
        int[] table = new int[50000];
 
        public ClasseB()
        {
 
            TestRefCirculaire.compteur++;
            ClasseA objA = new ClasseA();
        }
 
 
    }


Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    /********************* TestRefCirculaire ************/
 
    public class TestRefCirculaire
    {
        public static int compteur;
        public TestRefCirculaire()
        {
            compteur = 0;
        }
 
        public static void Main(String[] args)
 
        {
 
            ClasseA test = new ClasseA();
        }
 
    }


tout à fais normal : c'est qui le premier ? la poule ou l'œuf ?

est ce que quelqu'un a une idée comment on peut résoudre la référence circulaire en c# SVP ?!!!

merci d'avance et a++