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 :

Reflexion : obtenir le nom texte d'une property


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2008
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 118
    Points : 47
    Points
    47
    Par défaut Reflexion : obtenir le nom texte d'une property
    Bonjour,

    Voici un extrait de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    string dataMember="MyProperty";
    DataBindings.Add(propertyName, dataSource, dataMember);
    Mon problème est que ce nom de propriété ("MyProperty") peut être modifié par d'autres développeurs.
    J'aurais souhaité avoir une erreur de compilation si un développeur modifie le nom de ma property "MyProperty".

    Est-il possible de faire ce style de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string dataMember=GetPropertyName(MyType.MyProperty)
    Si oui, comment ?

    Merci d'avance.

    Sybaris

  2. #2
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Autant que je sache, la réflexion / le binding nécessitera toujours de coder en dur le nom des types / des membres. A partir de A.B (où A est un objet et B une propriété / un membre / ...), il n'est pas possible d'extraire la chaîne "B".

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Mars 2008
    Messages : 58
    Points : 74
    Points
    74
    Par défaut
    Citation Envoyé par Guulh Voir le message
    Autant que je sache, la réflexion / le binding nécessitera toujours de coder en dur le nom des types / des membres. A partir de A.B (où A est un objet et B une propriété / un membre / ...), il n'est pas possible d'extraire la chaîne "B".
    J'aurai tendance à dire la même chose ...

  4. #4
    Expert éminent
    Avatar de _skip
    Homme Profil pro
    Développeur d'applications
    Inscrit en
    Novembre 2005
    Messages
    2 898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur d'applications
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 898
    Points : 7 752
    Points
    7 752
    Par défaut
    La meilleure chose à faire, c'est d'avoir ce genre de code :


    public class MaClasse
    {
    public const string PROP_LASTNAME = "Nom";
    public const string PROP_FIRST_NAME = "Prenom";

    public String Nom get{};
    ....

    }

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/05/2008, 18h24
  2. Obtenir le nom complet d'une variable à partir de pageContext
    Par elmessoussi dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 25/03/2008, 18h04
  3. obtenir le texte d'une autre application
    Par m14w dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 02/03/2006, 00h24
  4. Obtenir le nom d'une table impliquée dans une contrainte
    Par graphicsxp dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 18/01/2006, 18h19

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