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 :

Passer des objets de classes en paramètre


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 43
    Par défaut Passer des objets de classes en paramètre
    Bonjour,

    J'ai instancié un objet d'une classe dans un winform. J'ai ensuite un autre winform qui s'ouvre lorsque je clique sur un bouton.

    Dans le code de mon deuxieme winform, je souhaite utiliser mon constructeur pour recuperer mes objets instanciés dans le winform précédent. Mais lorsque que je met des type "Joueur" (le nom de ma classe) dans les paramètres du constructeur, j'obtiens l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Accessibilité incohérente*: le type de paramètre 'Joueur' est moins accessible que la méthode 'apresJeu.apresJeu(Joueur, string)'
    Donc ma question: est il possible de recuperer des objets d'un winform à l'autre (par le biais de cette méthode ou d'une autre, peu importe) ?

  2. #2
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Probablement que ta classe Joueur n'est pas publique, alors que AprèsJeux l'est. Essaye en mettant la classe Joueur en public

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 43
    Par défaut Re
    Merci de ta réponse, j'ai déjà essayé mais ça ne fonctionne pas, je ne comprend pas pourquoi

  4. #4
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    pas sûr de comprendre ce que tu cherches à faire, mais ton erreur est un problème d'accessibilité.
    Y'a un protected/portée non spécifiée qui doit trainer dans ton code.
    Comment as-tu défini ta classe Joueur ?

    edit (après précédentes réponses) : du coup faire voir ton code.

  5. #5
    Invité
    Invité(e)
    Par défaut
    en effet, quel est le modificateur de visibilité du type "Joueur" ?

    si y a rien devant "class Joueur", c'est par défaut "private".

    selon le code en question, on peut ajouter essayer "internal" ou "public".

    où est définit cette classe, dans quel fichier par rapport au winform, dans quel espace de nom et éventuellement dans quelle classe ?

    sinon faudrait voir la section de code entier pour comprendre.

    normalement ça doit ressembler à :

    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
    18
    19
    20
    21
    22
    public class Joueur
    {
      public void DoAction()
      {
      }
    }
     
    public partial Form1 : WinForm
    {
      private void DoSomething1()
      {
        var joueur = new Joueur();
        new Form2().Run(joueur);
      }
     
    public partial Form2 : WinForm
    {
      public void Run(Joueur joueur)
      {
        joueur.DoAction();
      }
    }
    Dernière modification par Invité ; 19/09/2015 à 21h23.

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

Discussions similaires

  1. Passer des objets complexes en paramètres
    Par davet dans le forum Struts 2
    Réponses: 2
    Dernier message: 06/11/2008, 21h28
  2. Passer des objets Java en paramètre
    Par ruby_robber dans le forum BIRT
    Réponses: 3
    Dernier message: 23/06/2008, 12h30
  3. Passer des objets en paramètre
    Par The eye dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 04/01/2008, 16h07
  4. [JSP][STRUTS] Passer des objets à une classe action
    Par maphi dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/08/2005, 16h55

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