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

ASP.NET Discussion :

[C#] Probl�me de StackOverflow sur une variable de classe


Sujet :

ASP.NET

  1. #1
    Membre habitu�
    Inscrit en
    Juin 2006
    Messages
    11
    D�tails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Par d�faut [C#] Probl�me de StackOverflow sur une variable de classe
    Bonjour � tous,

    J'ai un petit probl�me avec l'exception Stack Overflow qui commence � me courir sur le syst�me car je n'arrive toujours pas � comprendre ce qui la d�clenche.

    J'ai une classe "User" qui a pour but de stocker des variables relatives � un compte client sur mon site. Cette classe comprend entre autre un "user_id" de type Guid. Voici les premi�res lignes de ma classe :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public class User
    {
        protected Guid user_id
        {
            get {return user_id;}
            set {user_id = value;}
        }
    Et voici le constructeur de la classe :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        public User( Guid userId, String userLogin, String userPassword, String userPrenom, String userNom, String userEmail, int userLvl, Guid agenceId)
    	{
            this.user_id = userId;
            this.user_login     = userLogin;
            this.user_password  = userPassword;
            this.user_prenom    = userPrenom;
            this.user_nom       = userNom;
            this.user_lvl       = userLvl;
            this.agence_id      = agenceId;
    	}

    Jusque l�, aucun probl�me !

    Bref, maintenant j'ai une page de login (login.aspx) qui permet de s'identifier. Pour ca j'ai utilis� l'outil int�gr� par microsoft "login control" et j'ai cr�e mon propre provider. J'ai donc overrid� la fonction ValidateUser qui me permet de confirmer l'identification d'un utilisateur fraichement identifi�. Je r�cup�re donc les donn�es dans la BDD et je les passe au constructeur de ma classe User comme suit :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
                    User oCurrentUser = new User(_userId, _userLogin, _userPassword, _userPrenom, _userNom, _userEmail, _userLvl, _agenceId);
    en ayant bien sur r�cup�r� les valeurs dans le reader pr�c�dement :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    Guid _userId = rdr.GetGuid(0);
    ...
    Lorqsue je test la page, j'obtiens une Stack Overflow Exception l'appel au premier "set" de variable de ma classe User. Que ca soit le userId ou le Login, ca ne change rien ! Je n'arrive vraiment pas � comprendre ce qui g�n�re cette exception.

    Si vous avez une id�e je serais ravi de l'entendre ca me d�bloquerais pas mal sur mon projet ^^

    Merci d'avance !

  2. #2
    Membre �m�rite
    Profil pro
    Inscrit en
    Ao�t 2003
    Messages
    835
    D�tails du profil
    Informations personnelles :
    Localisation : France, Paris (�le de France)

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 835
    Par d�faut
    Salut,

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     protected Guid user_id
        {
            get {return user_id;}
            set {user_id = value;}
        }
    Tes m�thodes get et set sont r�cursives et donnent forcemment lieu � un Stack Overflow (dans le get tu rappelles le get, idem dans le set). Il te manque une variable membre sur laquelle doit �tre mapp�e ta propri�t� :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
        protected Guid _user_id;
     
        protected Guid user_id
        {
            get {return _user_id;}
            set {_user_id = value;}
        }
    Tu vois le soucis ?

  3. #3
    Membre habitu�
    Inscrit en
    Juin 2006
    Messages
    11
    D�tails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Par d�faut
    Pfffff

    Alala mais j'en reviens pas !

    Je viens effectivement de me rendre compte de la chose en re regardant un document sur l'utilisation des set et get...

    En effet j'avais pas pens� � �a, �a fait tellement longtemps que j'ai pas �crit une ligne de C# que...

    Bref merci beaucoup ! Ca r�soud tout � fait mon probl�me h�h�.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [Dojo] push ca marche pas sur une variable de classe ?
    Par Zineb1987_UNI dans le forum Biblioth�ques & Frameworks
    R�ponses: 11
    Dernier message: 14/12/2009, 10h12
  2. Probl�me de sintaxe sur une variable
    Par jmde dans le forum VBA Access
    R�ponses: 6
    Dernier message: 12/06/2008, 13h59
  3. [Tableaux] Probl�me de test sur une variable
    Par Laurent64 dans le forum Langage
    R�ponses: 7
    Dernier message: 20/05/2007, 14h04
  4. R�ponses: 12
    Dernier message: 26/03/2007, 13h00

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