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 : Récupérer une propriété par son nom


Sujet :

C#

  1. #1
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2008
    Messages : 256
    Points : 311
    Points
    311
    Par défaut Reflexion : Récupérer une propriété par son nom
    Bonjour à tous,

    Voilà ma situation: à partir de XSD.exe, j'ai généré une classe me permettant de parser un fichier XML. La structure de mon XML est la suivante:
    <DATA>
    <field1 left="" top="" font="" size=""></field1>
    <field2 left="" top="" font="" size=""></field2>
    <field3 left="" top="" font="" size=""></field3>
    <field4 left="" top="" font="" size=""></field4>
    </DATA>
    XSD.exe génère une classe du type Data. elle contient les propriétés Field1, Field2, ... qui sont du type Field. Elles contiennent chacune les propriétés left, top, size... qui sont de type float, string.
    J'utilise toutes ces informations pour positionner des données sur des images.

    Voilà ce que je voudrais faire : lorsque je reçoit les données de field1, je voudrais récupérer la propriété Field1 (de type Field) de ma classe data (de type Data).
    Comment puis-je faire ?
    Je suppose que cela fait intervenir la Reflexion, mais je n'ai réussi à faire marcher.

    Merci pour votre aide.
    Il y a toujours au moins deux solutions à un problème.

    http://software-design-development.blogspot.com/

  2. #2
    Membre averti
    Inscrit en
    Décembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2008
    Messages : 256
    Points : 311
    Points
    311
    Par défaut
    Trouvé, c'est plus la peine de chercher !

    Field field = (Field)data.GetType().GetProperty("field1").GetValue(data, null);
    Il y a toujours au moins deux solutions à un problème.

    http://software-design-development.blogspot.com/

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 08/09/2008, 21h20
  2. Accéder aux propriétés d'une interface par son nom
    Par slimjoe dans le forum Langage
    Réponses: 1
    Dernier message: 06/07/2007, 14h31
  3. Réponses: 8
    Dernier message: 19/10/2006, 15h41
  4. Accéder à une propriété par son nom
    Par Neilos dans le forum C++Builder
    Réponses: 5
    Dernier message: 22/09/2005, 21h34

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