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

VB.NET Discussion :

lister les instances d'une classe


Sujet :

VB.NET

  1. #1
    Membre émérite Avatar de shadowmoon
    Homme Profil pro
    Expert technique et fonctionnel .Net
    Inscrit en
    Mai 2005
    Messages
    1 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Expert technique et fonctionnel .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 066
    Points : 2 645
    Points
    2 645
    Par défaut lister les instances d'une classe
    Pour la première fois depuis plusieurs années, je travaille à nouveau en VB .Net et je suis coincé par un truc d'apparence assez simple, mais qui, à la vue de mes recherches restées sans succès (google, dvp, ...), doit finalement être assez ardu.

    Je souhaiterais obtenir la liste des instances d'un classe, dans le but de faire un for each sur cette liste, et pour chaque instance, faire un test sur la valeur d'un attribut et, en fonction du résultat modifier la valeur d'un autre attribut.

    En shématisant ca donnerait ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    for each Instance in Liste_Instances_Classe
     
         if (Instance.Attribut1 < 10) then Instance.Attribut2 = false
     
         else Instance.Attribut2 = true
     
         end if
     
    next Instance





    PS : Si je ne suis pas assez clair, n'hésitez pas à me poser des questions.
    il n'y a jamais eu qu'un seul chrétien et il est mort sur la croix Friedrich Nietzsche
    L'homme est un apprenti, la douleur est son maitre Alfred de Musset
    C'est avoir tort que d'avoir raison trop tôt Praefectus Praetario Hadrianus

    my best memories ever : 2008 London Circle Line "The Booze Train"

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 153
    Points : 161
    Points
    161
    Par défaut
    Hum... Je ne suis pas sur d'avoir compris ce que tu entends par "instance" dans ce contexte:
    En fait, étant données une classe, tu veux parcourir toutes les instances... qui existent en mémoire?

    Un exemple concret serait donc : (oublie la syntaxe, on va dire que c'est un language hybride )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    void Main() {
    String s1 = new String("Hello");
    String s2 = new String("World");
     
    For each s in String
       //La boucle devrait successivement parcourir s1 et s2 qui sont des String
    End 
    }
    Tu pourrais te former en suivant les cours et tutoriels visual Basic.net.

  3. #3
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Bonjour,

    À moins que tu n'aies déjà stocké tes instances dans une List (ou autre) au fur et à mesure ; il n'existe aucun moyen pour les retrouver dynamiquement à l'exécution (et heureusement).

    Si c'était possible, n'importe qui pourrait utiliser cette méthode pour accéder à des choses auxquelles il n'a pas droit [j'avais lu un article là dessus, si je le retrouve j'updaterais à ce propos]

    La solution c'est donc de les stocker avant (ou d'imaginer un processus pour que cela ce fasse tout seul, stockage à la création de l'objet, et suppression à sa destruction)

    Cordialement !
    Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )
    À quelle heure dormez-vous ?
    Censément, quelqu'un de sensé est censé s'exprimer sensément.

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 206
    Points : 28 131
    Points
    28 131
    Par défaut
    A préciser que, si les instances en question sont des contrôles posés sur une form, la liste des instances est automatiquement remplie, elle s'appelle Controls sur la form et tous les contrôles enfants qui sont aussi container.

    Sinon, il faut la créer à la main et la remplir à la main aussi à chaque création d'une instance
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  5. #5
    Membre émérite Avatar de shadowmoon
    Homme Profil pro
    Expert technique et fonctionnel .Net
    Inscrit en
    Mai 2005
    Messages
    1 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Expert technique et fonctionnel .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 066
    Points : 2 645
    Points
    2 645
    Par défaut
    Merci pour vos réponses, et vu que c'est une classe que j'ai moi même créé, je pense que je n'ai pas d'autre solution de créer manuellement une liste et de la compléter à chaque appel au constructeur de la classe.

    Ce me fait un objet supplémentaire à gérer, j'aurais préféré m'en passer.
    il n'y a jamais eu qu'un seul chrétien et il est mort sur la croix Friedrich Nietzsche
    L'homme est un apprenti, la douleur est son maitre Alfred de Musset
    C'est avoir tort que d'avoir raison trop tôt Praefectus Praetario Hadrianus

    my best memories ever : 2008 London Circle Line "The Booze Train"

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

Discussions similaires

  1. Lister les instances d'une classe
    Par PierreLog dans le forum Général Python
    Réponses: 7
    Dernier message: 04/09/2009, 08h23
  2. [POO] Lister les membres d'une classe
    Par Asmodean dans le forum Langage
    Réponses: 2
    Dernier message: 11/05/2007, 11h28
  3. Connaitre toutes les instances d'une classe
    Par miniseb dans le forum Langage
    Réponses: 14
    Dernier message: 09/01/2006, 17h35
  4. [VB.NET]Reflexion lister les membres d'une classe ...presque
    Par lucie.houel dans le forum ASP.NET
    Réponses: 19
    Dernier message: 20/09/2005, 13h49

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