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 :

Liste d'objet : probleme avec la methode add


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2010
    Messages : 19
    Points : 18
    Points
    18
    Par défaut Liste d'objet : probleme avec la methode add
    Bonsoir tous le monde.

    Je viens récemment de passer a la programmation en langage c# et je me retrouve avec un petit souci de liste, avant tous voici mon code de test :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    using System;
    using System.Collections.Generic;
     
    public class Example
    {
        public static void Main()
        {
            List<Map> listeMap = new List<Map>();
     
            listeMap.Add("map1");
     
        }
    }
     
     
    public class Dimension {
     
        private int x;
        private int y;
     
        public Dimension(){
        }
     
        public Dimension(int largeur,int hauteur) {
     
            this.x = largeur;
            this.y = hauteur;
     
        }
     
        public void setX(int largeur) {
     
            this.x = largeur;
     
        }
     
        public void setY(int hauteur) {
     
            this.y = hauteur;
     
        }
     
     
        public void setXY(int largeur, int hauteur) {
     
            this.x = largeur;
            this.y = hauteur;
     
        }
     
        public int getX() {
     
            return this.x;
     
        }
     
        public int getY() {
     
            return this.y;
     
        }
    }
     
    public class Map {
     
        private string name;
        private string tileset;
        private Dimension dimension;
     
        public Map(){
     
        }
     
        public Map(string nom){
     
            this.name = nom;
     
        }
     
        public Map(string nom, int largeur, int hauteur){
     
            this.name = nom;
            this.dimension.setXY(largeur, hauteur);
     
        }
     
     
     
    }
    d’après mon compilateur la méthode add reçoit des arguments non valide je suppose qu'il vas donc falloir que je créer une classe dériver d'une liste pour pouvoir surcharger la méthode add, mais étant peut familier avec les classe standard du c# je ne sais pas trop de quelle classe hériter.

    Si vous pouviez un peut m'éclairer la dessus cela serai sympa.

    Merci d'avance

  2. #2
    Membre éprouvé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Points : 1 187
    Points
    1 187
    Par défaut
    Bonjour,

    Ta liste est une liste de Map, la méthode Add attend donc une Map en entrée. Il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class Example
    {
        public static void Main()
        {
            List<Map> listeMap = new List<Map>();
     
            listeMap.Add(new Map("map1"));
     
        }
    }

  3. #3
    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 : 37
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 3 615
    Points : 8 080
    Points
    8 080
    Par défaut
    Petit tuyeau: En C# on utilise beaucoup les accesseurs. Ce sont des méthodes qui t'évitentn de faire un GetX() et GetY()

    Voici ton exemple repris:
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    public class Dimension
    {
        private int x;
        private int y;
     
        public Dimension()
        {
        }
     
        public Dimension(int largeur,int hauteur)
        {    
            this.x = largeur;
            this.y = hauteur;
        }
     
        public int X
        {
            get { return x; }
            set { x = value; }
        }
     
        public int Y
        {
            get { return y; }
            set { y = value; }    
        }
    }
     
    public class Map
    {
        private string name;
        private string tileset;
        private Dimension dimension;
     
        public Map()
        {    
        }
     
        public Map(string nom)
        {    
            this.name = nom;
        }
     
        public Map(string nom, int largeur, int hauteur)
        {
            this.name = nom;
            this.dimension = new Dimension(largeur, hauteur);
        }
    }

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2010
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2010
    Messages : 19
    Points : 18
    Points
    18
    Par défaut
    merci a tous les deux, ostenhard pour la réponse a mon problème et Nathanael pour l'info sur les accesseurs ça rend le code beaucoup plus clair.

  5. #5
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut
    Citation Envoyé par Nathanael Marchand Voir le message
    Petit tuyeau: En C# on utilise beaucoup les accesseurs. Ce sont des méthodes qui t'évitentn de faire un GetX() et GetY()
    Sémentiquement parlant les propriétés ne sont pas des accesseurs, mais elles regroupent des accesseurs et des mutateurs. Un accesseur ne fait qu'accéder, sans modifier.
    En informatique, le problème se situe toujours entre le clavier et l'écran !
    Il y a deux chemins entre le clavier et l'écran : Par l'UC et par l'utilisateur.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/05/2007, 11h45
  2. Probleme avec la methode readLine()!
    Par thenightmare1985 dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 26/10/2006, 21h00
  3. [JTextArea]Probleme avec la methode select
    Par caneman dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 30/07/2006, 15h50
  4. [VB.NET] Probleme avec la methode ReadToEnd
    Par Aspic dans le forum VB.NET
    Réponses: 2
    Dernier message: 02/12/2005, 22h10
  5. [Struts] Problème avec la méthode validate
    Par clement42 dans le forum Struts 1
    Réponses: 2
    Dernier message: 09/06/2005, 11h52

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