cs_Benouille
Messages postés215Date d'inscriptionjeudi 24 octobre 2002StatutMembreDernière intervention 7 septembre 2007
-
17 août 2004 à 15:50
Kalissi
Messages postés218Date d'inscriptionjeudi 2 mai 2013StatutMembreDernière intervention15 juillet 2019
-
9 mars 2015 à 15:42
bjour a tous,
je crée des classes qui contiennent les données dont j'ai besoin et qui sont alimentées par une base de données par les méthodes qui vont bien a l'instanciation de l'objet.
je veux faire un moteur d'affichage qui m'affiche l'objet créé en fonction des propriétés de l'objet:
par exemple si j'ai un objet client qui contient la propriété NOM, une propriété LISTCOMM liste des commandes en cours et une méthode RAPPEL pour lui dire de payer, je veux que mon afficheur VB puisse parcourir l'objet,
y trouver NOM et afficher par exemple un label de text NOM + une textbox avec son nom, une liste Titrée LISTCOMM et la liste en Question, et enfin un Label cliquable de texte RAPPEL.
bien évidemment j'ai plusieurs objets tous différend mais contenant tous le meme genre de propriétés/méthodes ( comme 0, un ou plusieurs string, une ou plusieurs liste , ...) le but étant de les afficher par une méthode unique grace a mon afficheur.
le code pour retrouver ces propriétés doit donc être du genre
dim cli1 as client = new client.getclient (id) 'getclient rempli l'objet en fonction de l'id passé
for each Prprte in cli1.properties
'la fonction affiche le controle suivant le type du controle _
en question (text box ou liste ...) parmi les types prédéfinis
AfficheControle (Prprte)
next Prprte
j'espère avoir été clair et si oui merci de me répondre a la question suivante:
(b]comment on voit la liste des propriétés d'un objet dans le code ?
cs_Benouille
Messages postés215Date d'inscriptionjeudi 24 octobre 2002StatutMembreDernière intervention 7 septembre 2007 17 août 2004 à 19:43
désolé j'ai cherché sur type, j'ai regardé la reflection qui permet les liaisons tardives mais je trouve pas ce que je veux:
pour voir sortir la liste des attributs d'un objet dans le code
par exemple que pour un controle de base (textbox) il me liste:
name
text
backcolor
...
exemple pour lister tous les controles d'un formulaire: Dim ctrl As Control
For Each ctrl In Me.Controls
MsgBox(ctrl.Name.ToString)
Next
et bin je veux la meme chose pour lister tous les attributs d'un controle
J'ai moi-même eu besoin de parcourir les propriétés d'une classe,
alors voici mon Code VB.NET ...
Private Function LireProprietes() As IList(Of String)
Dim objRetour As IList(Of String) = New List(Of String) Dim Valeur As String = String.Empty Dim ValNomPro As String = String.Empty Dim ValValPro As String = String.Empty
For Each Ent As Video In LsEntite For Each info As System.Reflection.PropertyInfo In Ent.GetType().GetProperties() If info.CanRead Then Valeur = (String.Format("{0} : {1}", info.Name, info.GetValue(Ent, Nothing))) Dim ValInfo As Object = info.GetValue(Ent, Nothing).ToString If (ValInfo IsNot Nothing) Then If (Not String.IsNullOrEmpty(ValInfo.ToString)) Then ValNomPro = info.Name ValValPro = ValInfo.ToString End If End If objRetour.Add(Valeur) End If Next Next
Return objRetour
End Function
note particulière :
la valeur info.GetValue(Ent, Nothing), doit impérativement être
envoyé dans un objet et cette objet doit être testé avant son utilisation.