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 :

Appel de paramètre dans méthode


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 125
    Points : 63
    Points
    63
    Par défaut Appel de paramètre dans méthode
    Bonjour à tous,
    J'envoi un string vers mon form3 ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            private void CreateUserAccount()
            {
                string path = (string)FoldersView.SelectedNode.FullPath;
                Form3 form3 = new Form3(path);
                form3.Show();            
            }
    Lorsque je le récupère dans mon form3 je peux pas l'intégrer dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void button3_Click(object sender, EventArgs e)
            {            
                // ici j'appelle une méthode qui a besoin du string provenant du form1
            }
    J'ai essayé en la déclarant avec internal static string mais je suis pas un AS du passage de paramètre entre form.
    Quelqu'un a une idée ?
    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 125
    Points : 63
    Points
    63
    Par défaut
    Je récupère bien la variable dans le form3. Mais je voudrais l'affecter à une fonction qui s'exécute au clic d'un bouton.

    Je déclare mon form1 (dans la public partial class Form3 : Form)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private Form1 form1;
    Et dans ma fonction je déclare mon string comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    string dInfoPath = (string)form1.FoldersView.SelectedNode.FullPath ;
    Sauf que au clic le form1 est null ! Exception classique NullReferenceException.
    Quelqu'un pourrait me donner un petit coup de pouce ?
    Merci

  3. #3
    Membre habitué Avatar de thelpi
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 217
    Points : 156
    Points
    156
    Par défaut
    Bonjour,

    je ne suis pas sur d'avoir tout saisi, mais à partir de ton premier post tu avais des solutions toutes simples ( en conservant ton code CreateUserAccount() ) :

    Code : 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
     
    public Form3 : Form
    {
         private string _path = string.Empty;
     
         public Form3(string path)
         {
              InitializeComponent();
              _path = path;
         }
     
    public void button3_Click(object sender, EventArgs e)
            {            
                MessageBox.Show(_path);
            }
     
    }

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Points : 220
    Points
    220
    Par défaut
    Si j'ai bien compris, c'est tout simplement

    Code : 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
     
    class Form3
    {
    	private string _path;
     
    	public Form3(string path)
    	{
    		_path = path;
    	}
     
    	public void button3_Click(object sender, EventArgs e)
            {            
                // ici tu as accès à _path
            }
     
    }

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 125
    Points : 63
    Points
    63
    Par défaut
    Merci parfait !
    Au fait quel est la différence entre _path et path ? Ce sont tous les 2 des string ?

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    203
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 203
    Points : 220
    Points
    220
    Par défaut
    La portée des variables n'est pas la même :

    path est une variable locale à la fonction
    _path est une variable propre à l'instance de la classe, donc accessible à partir de toutes les méthodes de la classe.

  7. #7
    Membre habitué Avatar de thelpi
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 217
    Points : 156
    Points
    156
    Par défaut
    Oui, elles sont de même type, ce sont juste des conventions d'écritures différentes :

    un attribut privé de classe s'écrit généralement préfixé d'un "_" ( mais il y plusieurs écoles me semble t-il ), alors qu'une variable locale/temporaire, s'écrit sans typographie particulière.

  8. #8
    Membre habitué Avatar de thelpi
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    217
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 217
    Points : 156
    Points
    156
    Par défaut
    ( note : ma réponse n'enlève rien à celle de Matdur, bien au contraire ! )

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 125
    Points : 63
    Points
    63
    Par défaut
    Merci à vous pour ces compléments d'informations.

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

Discussions similaires

  1. appeler une méthode avec paramètre dans une page JSP
    Par javasmif dans le forum Struts 2
    Réponses: 1
    Dernier message: 06/12/2007, 10h48
  2. Réponses: 3
    Dernier message: 20/04/2007, 14h06
  3. Réponses: 2
    Dernier message: 02/04/2007, 11h30
  4. [Smarty] Méthode paramétré dans condition if
    Par Ouark dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 12/12/2006, 08h43
  5. Réponses: 1
    Dernier message: 21/03/2006, 14h29

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