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 :

nom des propriété


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 5
    Par défaut nom des propriété
    BONJOUR !!

    j ai un petit problème avec les nom de propriété .

    Alors j ai lue dans différant cour qu on peux donner le nom du champ a sa proprieter comme l exo suivant :
    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
     
    class perso
    {
      private string nom;
      public string nom
      {
          get { return this.nom; }
          set { this.nom = value; }
      }
       //autres champs et leur proprietes
       //....
    }
    //programme principale -->
    class program
    {
      static void Main(string[] args)
      {
     // en instance une variable
    perso a = new perso();
    a.nom = "jocker";
    // et voila sans modifier le nom du champ ...
    mais le problème et que quand je tape 'a' puis le point '.' le visuel m affiche dans la liste (de choix d attribue ou de methode ) l attribue 'nom' marquer en rouge et m affiche le message suivant " le type 'perso' contient déjà une definition pour 'nom' ".

    pour moi le mot clef <this> indique la variable la mois locale (dans ce cas le champ nom).

    alors, il y a quel qu un qui peut m aider pour résoudre ce problème ?? et merci d avance !!

  2. #2
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

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

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Ne donne pas le même nom à la propriété et au champ car ça ne compile pas.
    A la place tu peux mettre une majuscule au nom de la propriété
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      private string nom;
      public string Nom
      {
          get { return this.nom; }
          set { this.nom = value; }
      }

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 5
    Par défaut
    oui je sais mais je pense que j ai deja donner le même nom a la propriete et au champ et il n y avait pas de message d erreur et en plus je pense que c est logique par ce que le mot clef <this> est construit pour l indication des champ ou les variable en générale les moins locaux (suivant a la règle : la priorité a la variable la plus locale).

  4. #4
    Membre Expert Avatar de meziantou
    Homme Profil pro
    autre
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

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

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Par défaut
    Citation Envoyé par ay-escoba Voir le message
    oui je sais mais je pense que j ai deja donner le même nom a la propriete et au champ et il n y avait pas de message d erreur
    Quand je défini un champ et une propriété avec le même nom j'obtiens une erreur de compilation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            private string nom;
            public string nom
            {
                get { return this.nom; }
                set { this.nom = value; }
            }
    The type '...' already contains a definition for 'nom'

    Citation Envoyé par ay-escoba Voir le message
    le mot clef <this> est construit pour l indication des champ ou les variable en générale les moins locaux
    Le mot clé this permet l'utilisation de membres masqués par des noms similaires, par exemple :
    Code MSDN : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        private string name;
        private string alias;
     
        public Employee(string name, string alias)
        {
            // Use this to qualify the fields, name and alias:
            this.name = name;
            this.alias = alias;
        }
    Cependant dans ton cas comment veux tu faire la différence entre le champs et la propriété puisqu'ils ont le même nom et s'utilise de la même façon.

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2007
    Messages
    256
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 256
    Par défaut
    Si dans le get/set tu ne souhaite mettre que return value et rien d'autre alors il y a un raccourci bien pratique c'est ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public string Nom {get;set} // si tu veux tu peux mettre private set pour que seul ta classe puisse modifier la valeur

Discussions similaires

  1. Modifier les noms des propriétés d'un objet
    Par fahdijbeli dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/03/2014, 16h38
  2. Nom de l'entrée Créé le des propriétés d'un doc
    Par D-D-Du-06 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/04/2010, 10h38
  3. Noms des champs de propriétés
    Par Loken dans le forum VBA Word
    Réponses: 29
    Dernier message: 22/07/2008, 11h08
  4. Récuperer la collection des noms des propriétés
    Par belocom dans le forum VB.NET
    Réponses: 2
    Dernier message: 16/05/2007, 02h01
  5. [VBA] récupérer tout les noms des propriétés d'un objet
    Par ooyeah dans le forum Général VBA
    Réponses: 6
    Dernier message: 05/03/2007, 16h17

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