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

ASP.NET Discussion :

Propriétés d'une classe


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2004
    Messages : 166
    Par défaut Propriétés d'une classe
    Voilà mon soucis:

    J'ai une classe Appeler User avec les propriétés suivantes (et les accesseurs qui vont avec):
    - id (Id)
    - nom (Nom)
    - login (Login)
    - password (Password)
    - email (Email)

    Existe-t-il un moyen d'acceder à ces propriétés de la manière suivante:

    string propriete = "Nom";
    User user = new User();
    user.GetProperty(propriete) = ma_valeur;

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Décembre 2005
    Messages : 391
    Par défaut
    oui utilise une hashtable

  3. #3
    Membre éclairé Avatar de akecoocoo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 78
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        System.Reflection.PropertyInfo pi = typeof(User).GetProperty("Nom");
        pi.SetValue(user, "tralala", null);
    Plus d'info sur la reflection là :http://emerica.developpez.com/dotnet...ion/csharp/#LB

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2004
    Messages : 166
    Par défaut
    est-ce que ca marcherais également en remplacant

    typeof(User).GetProperty("Nom");

    par typeof(T).GetProperty("Nom"); où T représente un élement générique?

    D'autre part, une fois la propriété trouvée, est-ce que je peux connaitre le type de données de celle-ci?

  5. #5
    Membre éclairé Avatar de akecoocoo
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2004
    Messages : 78
    Par défaut
    Concernant le type retourné, parcours la classe PropertyInfo et tu trouveras ton bonheur.

    Je ne comprends pas ta question concernant les génériques.

    Pourquoi souhaites tu appeller la méthode Nom de cette manière ? (et non par instance.Nom directement). Bien souvent, on utilise la reflection à tord sans se rendre compte.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2004
    Messages : 166
    Par défaut
    Tout simplement parce que l'entité user n'était qu'un exemple.
    J'aurais la même chose à faire avec d'autre objet comme (Profil, Ressource, ...)

    Je voudrais donc écrire la méthode une seule fois pour ne pas devoir la modifier pour chaque classe!

  7. #7
    Membre Expert Avatar de guitoux1
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 011
    Par défaut
    Pourquoi ne pas passer par une interface ? la réflexion c'est consommateur de ressources !!

Discussions similaires

  1. Lecture de propriété d'une classe
    Par Mass-yas dans le forum VB.NET
    Réponses: 7
    Dernier message: 12/06/2007, 10h52
  2. Ajout de propriété dans une classe d'une assembly
    Par ftesson dans le forum Général Dotnet
    Réponses: 7
    Dernier message: 14/05/2007, 14h25
  3. Double propriété dans une classe
    Par Kiboumz dans le forum VB.NET
    Réponses: 3
    Dernier message: 28/03/2007, 13h49
  4. [VB.NET 2005] Parcourir les propriétes d'une Class
    Par ricil78 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/03/2007, 21h47
  5. Réponses: 2
    Dernier message: 13/12/2006, 15h10

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