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 :

affichage des attributs d'une classe


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 33
    Points : 31
    Points
    31
    Par défaut affichage des attributs d'une classe
    Bonjour,

    Je veux lister les attributs d’une classe crée en vb .net

    J’ai essayé cette procédure mais il n’arrive pas à accéder à ma classe pour m’affichedr les attribues. J’ai pas trouvé une solution sur le net

    Je me suis basé aussi sur ce lien mais j’arrive pas à m’en sortir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim t As Type
            t = Type.GetType("article" & False, True)
     
            Dim res As Reflection.MemberInfo() = t.GetMembers
     
            Dim index As Integer
            For index = 0 To res.Length
                Dim nom As String = res(index).Name
                Dim type1 As Type = res(index).GetType
                Dim nom_type As String = type1.Name
     
            Next

    Voici la classe crée :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    Public Class article
        Private _num As Integer
        Private _nom As String
        Private _px_achat As Double
        Private _px_vente As Double
     
        Property num()
            Get
                Return _num
            End Get
            Set(ByVal value)
                _num = value
            End Set
        End Property
        Property nom()
            Get
                Return _nom
            End Get
            Set(ByVal value)
                _nom = value
            End Set
        End Property
        Property px_achat()
            Get
                Return _px_achat
            End Get
            Set(ByVal value)
                _px_achat = value
            End Set
        End Property
        Property px_vente()
            Get
                Return _px_vente
            End Get
            Set(ByVal value)
                If value >= _px_achat Then
     
                    _px_vente = value
     
                Else
                    Try
     
                        Throw New Exception
                    Catch
                        MsgBox("erreur")
                    End Try
     
     
                End If
     
     
                _px_vente = value
            End Set
        End Property
        Sub New()
     
        End Sub
     
        Sub New(ByVal n As Integer, ByVal m As String, ByVal pxa As Double, ByVal pxv As Double)
     
            num = n
            nom = m
            px_achat = pxa
            px_vente = pxv
     
     
        End Sub
     
        Sub affiche_attr()
     
            Dim t As Type
            t = Type.GetType("article" & False, True)
     
            Dim res As Reflection.MemberInfo() = t.GetMembers
     
            Dim index As Integer
            For index = 0 To res.Length
                Dim nom As String = res(index).Name
                Dim type1 As Type = res(index).GetType
                Dim nom_type As String = type1.Name
     
            Next
     
     
        End Sub

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    manque la balise code => post illisible
    erreur de vocabulaire, un attribut ce n'est pas un membre ...

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    comme dit sperot51, il s'agit de propriétés et non d'attributs... les attributs existent aussi mais ça n'a rien à voir

    Le code qui répond à ta question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Sub affiche_prop()
     
            Dim props As Reflection.PropertyInfo() = t.GetProperties 
            For Each p As PropertyInfo In props
                Console.WriteLine(p.Name)
            Next 
     
        End Sub
    (pour afficher dans la console)

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Merci pour les explications.
    J'ai une question, le "PropertyInfo" n'existe pas en vb .net. C'est quoi l'expression équivalante en vb . net

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par dolsky Voir le message
    J'ai une question, le "PropertyInfo" n'existe pas en vb .net. C'est quoi l'expression équivalante en vb . net
    Euh... ça fait partie du framework, donc ça existe en VB.NET comme dans n'importe quel langage .NET. Essaie d'écrire le nom complet (System.Reflection.PropertyInfo) ou d'ajouter un Imports System.Reflection au début du fichier

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    tu as raison, j'ai importé Imports System.Reflection et ça marche sauf que lorsque, j'execute mon programme, je reçoit le message d'erreur indiqué dans la pièce jointe:

    Nom : vb.JPG
Affichages : 86
Taille : 64,1 Ko

    Merci pour l'aide

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    ah oui, t n'est pas initialisé... petite erreur dans mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Sub affiche_prop()
     
            Dim props As Reflection.PropertyInfo() = Me.GetType().GetProperties()
            For Each p As PropertyInfo In props
                Console.WriteLine(p.Name)
            Next 
     
        End Sub

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    Merci bcp pour l'aide ça marche..

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    pense à mettre le tag stp... (bouton en bas de la page)

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 33
    Points : 31
    Points
    31
    Par défaut
    OK, c'est noté.

    Bon courage

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

Discussions similaires

  1. Affichage des attributs d'une balise XML
    Par derfez dans le forum Linq
    Réponses: 4
    Dernier message: 07/07/2010, 14h06
  2. Modifications des attributs d'une classe
    Par Lolitaaa dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 10/12/2009, 10h27
  3. Réponses: 12
    Dernier message: 20/05/2009, 15h32
  4. récupérer le nom des attributs d'une classe
    Par danyboy85 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 22/06/2006, 11h42
  5. Réponses: 2
    Dernier message: 27/03/2005, 16h09

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