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 :

comment recuperer la valeur d'un attribut privé?


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 68
    Points : 35
    Points
    35
    Par défaut comment recuperer la valeur d'un attribut privé?
    Bonjour j'aimerai récupérer la valeur d'un attribut privé se trouvant dans une classe sachant que je me trouve dejà dans une classe différente.Je dois probablement utiliser un accesseur c'est à dire un "get" ,savez vous comment écrire cette méthode?Merci de m'aiguiller.

  2. #2
    Membre actif
    Inscrit en
    Avril 2006
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 346
    Points : 252
    Points
    252
    Par défaut
    Bonjour,

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private int m_MaVariable;
    /// <summary>
    /// Obtient ou définit la valeur de MaVariable
    /// </summary>
    public int MaVariable
    {
      get{ return m_MaVariable;}
      set{if (m_MaVariable != value)
    m_MaVariable = value;
      }
    }

    Ah ceci quelques informations supplémentaires:
    J'ai l'habitude de préfixer mes variable privées par m_
    D'autres personnes préfixent par _.
    MaVariable est une propriété. Tu peux définir une propriété en lecture seule en n'utilisant que l'accesseur get et tu peux définir la propriété en lecture/écriture en utilisant l'accesseur get et set. Par contre, même si rien ne t'empêche de n'utiliser l'accesseur set, il est déconseillé de l'utiliser seul.
    Côté commentaire, je commente toujours la propriété avec les balises <summary></summary>.

    Mais je ne vais non plus te faire un cours sur les propriétés. Le mieux serait que tu te documentes en lisant les cours présents sur ce site en achetant un bon bouquin. Je te conseille le livre de Patrick Smacchia.

    Pratique de .NET 2 et C# 2

    Bye

  3. #3
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    Si tu utilises Visual Studio, tu as un raccourci pour le faire :
    Se positionner sur ta variable, clic droit -> Refactor -> Encapsulate field (dsl j'ai un VS en anglais) ce qui doit donner "Encapsuler le champ" en français.

    Ca évite d'écrire les accesseurs à la main
    May the Troll, be with you
    (Que le troll soit avec toi)

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Points : 780
    Points
    780
    Par défaut
    Citation Envoyé par flex@ Voir le message
    savez vous comment écrire cette méthode?
    Ou sinon dans Visual Studio, tu tapes "prop" puis double tab : il va tout t'écrire lui même

    Ensuite tu navigues avec tab entre les éléments en verts.

    Note : moi aussi j'utilise "m_", m pour "member"
    (ainsi m_ariTruc = membre, array, int, Truc)
    Mais le "_" n'est pas dans les bonnes pratiques recommandées par Microsoft.

  5. #5
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    Citation Envoyé par Chubyone Voir le message
    Ou sinon dans Visual Studio, tu tapes "prop" puis double tab : il va tout t'écrire lui même
    Tiens je connaissais pas ça , encore plus rapide que ma proposition
    May the Troll, be with you
    (Que le troll soit avec toi)

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 700
    Points : 780
    Points
    780
    Par défaut
    propg svm foreach switch

  7. #7
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    Citation Envoyé par Chubyone Voir le message
    propg svm foreach switch
    En tant que codeuse folle, j'utilise très peu les snippets (voir jamais) et tapotes à la mimine toutes mes lignes de codes... et on se demande pourquoi y'a des bugs après
    May the Troll, be with you
    (Que le troll soit avec toi)

  8. #8
    Membre chevronné Avatar de LooserBoy
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 1 085
    Points : 1 976
    Points
    1 976
    Par défaut
    Citation Envoyé par debug Voir le message
    En tant que codeuse folle, j'utilise très peu les snippets (voir jamais) et tapotes à la mimine toutes mes lignes de codes... et on se demande pourquoi y'a des bugs après
    Et ca évite aussi de mettre 3 plombes à écrire ce que certains mettraient 10min. Patapé!!
    Vu sur un paquet de cigarettes: "Fumer peut entrainer une mort lente et douloureuse"
    - Vivre aussi... Ce n'est pas forcément moins douloureux et c'est même beaucoup plus lent...

  9. #9
    Expert confirmé
    Avatar de debug
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    1 034
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 034
    Points : 4 093
    Points
    4 093
    Par défaut
    Citation Envoyé par LooserBoy Voir le message
    Et ca évite aussi de mettre 3 plombes à écrire ce que certains mettraient 10min. Patapé!!
    Faut bien occuper ses journées....
    May the Troll, be with you
    (Que le troll soit avec toi)

  10. #10
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Tu peux créer tes propres snippets plus complexes. Par exemple, j'ai un snippet Singleton, un snippet StaticClass, etc, ça fait gagner des heures
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  11. #11
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par SaumonAgile Voir le message
    Tu peux créer tes propres snippets plus complexes. Par exemple, j'ai un snippet Singleton, un snippet StaticClass, etc, ça fait gagner des heures
    Vas-y fais péter
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  12. #12
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par Skyrunner Voir le message
    Vas-y fais péter
    +1

  13. #13
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Bon comme je n'ai pas la machine qui les contient sous la main, je vous en recopie un de "mémoire" (avec snippy quand même ^^). Oui je sais, c'est le plus simple

    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
    <?xml version="1.0" encoding="utf-8"?>
    <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
      <CodeSnippet Format="1.0.0">
        <Header>
          <Title>Singleton</Title>
          <Shortcut>sing</Shortcut>
          <Description>Singleton pattern class</Description>
          <Author>SaumonAgile</Author>
        </Header>
        <Snippet>
          <Declarations>
            <Literal Editable="true">
              <ID>ClassName</ID>
              <ToolTip>Name of the class</ToolTip>
              <Default>Singleton</Default>
              <Function>
              </Function>
            </Literal>
          </Declarations>
          <Code Language="csharp"><![CDATA[public sealed class $ClassName$
    {
        $ClassName$()
        {
        }
     
        public static $ClassName$ Instance
        {
            get
            {
                return Interne.instance;
            }
        }
     
        class Interne
        {
            // Pour le compilateur, cela évite que l'instance soit créée avant le premier accès.
            static Interne()
            {
            }
     
            internal static readonly $ClassName$ instance = new $ClassName$();
        }
    }]]></Code>
        </Snippet>
      </CodeSnippet>
    </CodeSnippets>
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  14. #14
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Points : 4 061
    Points
    4 061
    Par défaut
    Hé si dans les contributions ont créés une rubrique destiné à la proposition de snipet ?
    Pourquoi faire compliqué lorsque l'on peut faire encore plus compliqué.

Discussions similaires

  1. [C#][Débutant] Comment récuperer une valeur d'une requete sql
    Par Cazaux-Moutou-Philippe dans le forum Accès aux données
    Réponses: 2
    Dernier message: 12/05/2006, 01h45
  2. Réponses: 4
    Dernier message: 10/01/2006, 10h22
  3. Comment recuperer un valeur envoyé dans une URL
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/12/2005, 11h28
  4. Réponses: 5
    Dernier message: 17/06/2005, 16h17
  5. comment recuperer deux valeurs de deux champs input
    Par trialrofr dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/02/2005, 22h08

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