Parcourir les propriétés d'une classe VB.NET

Résolu/Fermé
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 - 10 mars 2015 à 20:18
Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 - 10 mars 2015 à 20:20
Bonjour, j'insère ici le code publié sur le site :

https://codes-sources.commentcamarche.net/forum/affich-278330-vb-net-comment-trouver-les-proprietes-d-une-classe-par-le-code

Recherche que j'ai effectué et dont j'ai pu trouver une solution :-)


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.


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


K

1 réponse

Kalissi Messages postés 218 Date d'inscription jeudi 2 mai 2013 Statut Membre Dernière intervention 15 juillet 2019 20
10 mars 2015 à 20:20
au fait je ne sais pas (ou ne me souviens plus) comment mettre le fil en [ Résolu ].

K
0