Pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter, inscrivez-vous gratuitement !

 

  1. #1
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    juillet 2003
    Messages
    1 887
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2003
    Messages : 1 887
    Points : 626
    Points
    626

    Par défaut Extraire une propriete d'une class

    Bonjour,

    J'ai une class avec plusieurs propriétés de type Object.
    J'ai besoin de sortir la propriete qui n'est pas null.

    j'ai essayé PropertyInfo mais cela ne reponds pas à mes attentes.

    Avez vous une idee ?

    Merci
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    avril 2007
    Messages
    13 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 13 180
    Points : 24 055
    Points
    24 055

    Par défaut

    getproperties permet d'avoir la liste des propriétés sous forme de propertyinfo
    propertyinfo a une méthode getvalue qui permet d'obtenir la valeur d'une propriété pour une instance, à partir de là tu peux trouver celle qui vaut null
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    juillet 2003
    Messages
    1 887
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2003
    Messages : 1 887
    Points : 626
    Points
    626

    Par défaut

    Oui c'est ce que je fais, mais si vois que la prop MyProp is not null alors je voudrais recuperer cette propriété.
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    avril 2007
    Messages
    13 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 13 180
    Points : 24 055
    Points
    24 055

    Par défaut

    Citation Envoyé par Pol63 Voir le message
    getproperties permet d'avoir la liste des propriétés sous forme de propertyinfo
    propertyinfo a une méthode getvalue qui permet d'obtenir la valeur d'une propriété pour une instance, à partir de là tu peux trouver celle qui vaut null
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre confirmé
    Avatar de topolino
    Profil pro
    Inscrit en
    juillet 2003
    Messages
    1 887
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2003
    Messages : 1 887
    Points : 626
    Points
    626

    Par défaut

    Je me suis mal exprimé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     public class SearchEngineParameters
    {
              public Articles ArticlesParam { get; set; }
     
              public class Articles
            {
                public string ArticleName { get; set; }
                public string Category { get; set; }
                public List<BusinessObject.Features> Categories { get; set; }
                public bool Sellable { get; set; }
            }
    }
    En parcourant la class SearchEngineParameters, et si la propriété ArticlesParam n'est pas null alors recuperer la class Articles.

    Je n'arrive pas à le faire correctement avec foreach (PropertyInfo pi in e.SearchEngineParameters.GetType().GetProperties()).


    Merci de votre aide dans tout les cas.

    Cordialement,

    David
    MCTS Microsoft.
    La conception : Prendre le temps pour gagner du temps.

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    avril 2007
    Messages
    13 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : avril 2007
    Messages : 13 180
    Points : 24 055
    Points
    24 055

    Par défaut

    mouais ... je ne vois toujours pas ce qui te bloque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    foreach (PropertyInfo pi in e.SearchEngineParameters.GetType().GetProperties())
    { 
      var propertyValue = pi.Getvalue(e);
      if (propertyValue != null)
       {
          // si ArticlesParam n'est pas null alors propertyValue contiendra la valeur de ArticlesParam, donc une instance d'Articles, à toi de caster si tu peux (gettype permet de tester le type)
       }
    }
    en exprimant le besoin de départ ca permettrait aussi de vérifier que tu n'es pas dans le problème xy, à savoir demander comment faire y pour faire x, alors que pour faire x la meilleure solution n'est pas de faire y
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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