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 :

Récupérer les valeurs dans une PropertyInfo


Sujet :

C#

  1. #1
    Membre averti
    Avatar de Psycadi
    Homme Profil pro
    Chef de projet - Expert en message box
    Inscrit en
    Juillet 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet - Expert en message box

    Informations forums :
    Inscription : Juillet 2003
    Messages : 147
    Points : 364
    Points
    364
    Par défaut Récupérer les valeurs dans une PropertyInfo
    Bonjour,

    Je bloque sur un petit problème.
    J'ai le code 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
    22
    23
    24
     
    MyObject monObj = new MyObject();
    Array tabMonObj = Array.CreateInstance(monObj.GetType(), 4);
    int i = 0;
    tabMonObj = (MonObj[])MonObjEnParametre;
    System.Collections.IEnumerator enumerator = tabMonObj.GetEnumerator();
    while (enumerator.MoveNext())
    {
    	PropertyInfo[] prop = enumerator.Current.GetType().GetProperties();
    	foreach (Control label in tabPanel.Controls)
    	{
    		if (label.GetType().ToString().Equals("ComposantsCC.LabelCC"))
    		{
    			foreach (PropertyInfo p in prop)
                            {
                                if (null != label.Tag && label.Tag.ToString().Equals(p.Name + i.ToString()))
                                {
                                    //label.Text = valeur de p
                                }
                            }
                    }
             }
             ++i;
    }
    tout à l'air de bien marché mais je n'arrive pas à récupérer la valeur contenu dans p.
    J'ai essayé un p.GetValue(null,null) mais cela ne marche pas.
    J'ai aussi testé un p.GetValue(prop,null) idem.

    Est-ce que quelqu'un sait comment je pourrais récupérer la valeur contenu dans p?

    Merci d'avance
    ρs¥

  2. #2
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Salut.

    Pour le GetValue fonctionne encore faut-il qu'il connaisse l'objet dont tu veux la valeur.

    Quand tu as une instance de PropertyInfo elle est completement dissocié de l'instance de ton objet initial ( si j'ai bien compris ton code celui qui est contenu dans l'énumérateur ( enumerator.Current ). Pour preuve tu peux ( si tout les objets dans l'énumérateur sont du même type, modifier ton code

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PropertyInfo[] prop = enumerator.Current.GetType().GetProperties();

    par
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    PropertyInfo[] prop = typeof(MonType).GetProperties();

    Au passage tu peux ne faire ça qu'une fois et gagner un peu en perf .

    Pour en revenir à ton pb il faut donc faire :

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    p.GetValue(enumerator.Current,null)

    et tout fonctionnera nickel (normalement )
    - MVP C#
    -Tout problème a une solution, le vrai problème est de trouver la solution .....
    - Linux & mono : l'avenir

  3. #3
    Membre averti
    Avatar de Psycadi
    Homme Profil pro
    Chef de projet - Expert en message box
    Inscrit en
    Juillet 2003
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet - Expert en message box

    Informations forums :
    Inscription : Juillet 2003
    Messages : 147
    Points : 364
    Points
    364
    Par défaut
    J'avais trouvé un truc mais c'était plus de la bidouille qu'autre chose.

    Merci pour ton aide
    ρs¥

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

Discussions similaires

  1. Comment récupérer les valeurs dans une requête
    Par JeanNoel53 dans le forum JDBC
    Réponses: 23
    Dernier message: 30/04/2015, 20h02
  2. [Débutant] Récupérer les valeurs dans une structure
    Par Kichott dans le forum MATLAB
    Réponses: 6
    Dernier message: 05/08/2009, 08h37
  3. Problème récupérer les valeurs dans une Hash
    Par pymouse dans le forum Langage
    Réponses: 4
    Dernier message: 12/07/2007, 17h11
  4. Récupérer les valeurs dans une fonction
    Par matmay dans le forum MATLAB
    Réponses: 3
    Dernier message: 04/05/2007, 16h50
  5. Réponses: 11
    Dernier message: 26/04/2007, 10h40

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