IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

référence circulaire en c#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2010
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 37
    Par défaut référence circulaire en c#
    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++

  2. #2
    Membre expérimenté
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par défaut
    est ce que quelqu'un a une idée comment on peut résoudre la référence circulaire en c# SVP ?!!!

    C'est un problème de design a revoir et C# n'a voir la dedans

  3. #3
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Salut,

    le premier c'est ClasseA, puisque tu l'appelles en premier. Mais comme dit Olibara, il n'y a aucun moyen de résoudre cela, c'est jusque que ce code est faux, tout simplement. Que cherches-tu à faire, exactement ?

  4. #4
    Rédacteur
    Avatar de Nathanael Marchand
    Homme Profil pro
    Expert .Net So@t
    Inscrit en
    Octobre 2008
    Messages
    3 615
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert .Net So@t
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Par défaut
    Euh je veux pas être méchant mais c'est quoi ce code tout pourri?

    Quand tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ClasseB objB = new ClasseB();
    dans le constructeur de la classe A ca ne met une nouvelle instance de ClasseB dans le membre objB mais plutot dans une variable objB qui a comme scope uniquement le constructeur...

  5. #5
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Citation Envoyé par PitMaverick78 Voir le message
    Euh je veux pas être méchant mais c'est quoi ce code tout pourri?
    Bwaaah, il faut pas non plus être méchant comme ça Que celui qui n'a jamais pêché jette la première pierre...

    Mais ton smiley nuance bien, ça va

    Plus sérieusement, je pense que badr007 cherche à faire quelque chose, et il s'y est mal pris. D'ailleurs s'il n'avait pas de problème, il ne serait pas venu chercher de l'aide ici (de l'aide, pas des jugements )

    Donc, je réitère ma question du post précédent : badr007, que cherches-tu à faire exactement ? On va essayer de t'aider à prendre la bonne piste.

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Septembre 2007
    Messages
    497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 497
    Par défaut
    Avec des try catch ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/06/2006, 17h02
  2. [SQL 2K5] Pb : ON DELETE CASCADE : référence circulaire
    Par n00bi dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 29/05/2006, 08h48
  3. Référence circulaire
    Par Mvu dans le forum ASP
    Réponses: 3
    Dernier message: 27/04/2006, 14h38
  4. [EXCEL] : référence circulaire à cause d'une macro
    Par repié dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 11/01/2006, 10h41
  5. [DEB] DBdesigner 4 et référence circulaire
    Par Ranbaz dans le forum DBDesigner
    Réponses: 1
    Dernier message: 13/07/2005, 17h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo