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 d'une méthode public dans une 2ème classe


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 86
    Points : 35
    Points
    35
    Par défaut appel d'une méthode public dans une 2ème classe
    Bonjour,

    Dans un projet, j'ai deux classes "Class1" et "Class2"
    Dans "Class1", je fais la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public void SetTextCtr1_ReadOnly(Boolean bl)
            {//base.PostInitializeView();
                if (bl)
                {
     
                    TextCtr1.ReadOnly = false;
                }
                else
                {
                    TextCtr1ReadOnly = true;
                }
            }
    Dans la classe "class2", je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private void AddB_Click(object sender, EventArgs e)
            {
                class1.SetTextCtr1_ReadOnly(true);
     
            }
    J'ai l'erreur suivante :
    Erreur 2 Une référence d'objet est requise pour la propriété, la méthode ou le champ non statique
    Merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Points : 1 120
    Points
    1 120
    Par défaut
    Salut,

    que représente class1 ? est-ce bien une instance de la classe contenant la méthode SetTextCtr1_ReadOnly ?
    Tu appelles en effet class1.SetTextCtr1_ReadOnly.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 86
    Points : 35
    Points
    35
    Par défaut
    exact, c'est une instance de la classe Class1

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Points : 1 120
    Points
    1 120
    Par défaut
    ah tiens c'est quoi ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public void SetTextCtr1_ReadOnly(Boolean bl)
            {//base.PostInitializeView();
                if (bl)
                {
                    
                    TextCtr1.ReadOnly = false;            }
                else
                {
                    TextCtr1ReadOnly = true;
                }
            }
    il manque pas un point ?

  5. #5
    Membre confirmé 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
    Points : 513
    Points
    513
    Par défaut
    Salut,

    class1.SetTextCtr1_ReadOnly(true);
    Si "class1" est bel et bien une variable, change le nom de ta variable en "toto" ou n'importe quoi pour tester ; mais le message d'erreur semble indiquer qu'il s'agit du nom d'une classe. Comme il sait que "settruc_readonly" est un membre d'instance, il te sort cette erreur.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Points : 1 120
    Points
    1 120
    Par défaut
    tiens class1 n'est pas un intance de la classe class1 ?

    comme le dit MetalGeek, le compilateur croit que tu apelles une méthode statique...

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2009
    Messages
    86
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 86
    Points : 35
    Points
    35
    Par défaut
    Comment déclare t-on une instance de la class 1 dans la class 2?

    Merci,

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par radahm Voir le message
    Comment déclare t-on une instance de la class 1 dans la class 2?

    Merci,
    classe1 nomdevariable = new class1()

    aprés pour utiliser ta methode il faut faire

    nomdevariable.methode()

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    826
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 826
    Points : 1 120
    Points
    1 120
    Par défaut
    Citation Envoyé par chefchinko Voir le message
    classe1 nomdevariable = new class1()

    aprés pour utiliser ta methode il faut faire

    nomdevariable.methode()
    attention tout de même. Vu le code, il souhaite peut être passer une référence d'une forme en cours, pas en instancier une nouvelle.

Discussions similaires

  1. arrayList dans une méthode recupérer dans une autre méthode
    Par toufik34 dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 31/07/2013, 09h45
  2. Réponses: 6
    Dernier message: 13/11/2009, 16h06
  3. Appeler une méthode définie dans une interface
    Par cedric.daniel dans le forum C#
    Réponses: 2
    Dernier message: 03/03/2009, 17h21
  4. Réponses: 2
    Dernier message: 18/12/2008, 14h15
  5. [Applet] appel de la méthode stop() dans une applet
    Par ciol2.6.12 dans le forum Applets
    Réponses: 4
    Dernier message: 08/09/2005, 13h40

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