Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Bouble sur toute les propriétés

3 réponses
Avatar
David Bouchard
Est-ce que quelqu'un sait comment passé en revu toutes les propriétés d'une
classe dans une boucle. Autrement dit, c'st que je cherche à garder en
mémoire toutes les propriétés de ma classe dans un fichier et j'aimais bien
utiliser la sérialisation me permettant ainsi de garder en mémoire l'état de
mes objets. Mon problème est que je ne peux pas sérialiser un usercontrol,
donc, je cherche de quelles façon je pourrais procéder sans être obligé
d'assigner chaque valeur une à une au propriété en codant une ligne pour
chacune d'elle tandis que je pourrais faire une boucle sur celle-ci.

Merci
David

3 réponses

Avatar
Eric Mittelette[MS\)
Bonjour,

Il faut passer par la reflection, un exemple ci dessous qui enumère les
properties d'un picturebox...

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
'récupération des propriétés du picture box.
Dim t As Type = PictureBox1.GetType()
Dim pi() As PropertyInfo = t.GetProperties((BindingFlags.Public Or
BindingFlags.Instance))
Dim p As PropertyInfo
For Each p In pi
TextBox1.Text += vbCrLf + p.Name
Next p
End Sub

HTH
Eric


"David Bouchard" a écrit dans le message de news:

Est-ce que quelqu'un sait comment passé en revu toutes les propriétés
d'une classe dans une boucle. Autrement dit, c'st que je cherche à garder
en mémoire toutes les propriétés de ma classe dans un fichier et j'aimais
bien utiliser la sérialisation me permettant ainsi de garder en mémoire
l'état de mes objets. Mon problème est que je ne peux pas sérialiser un
usercontrol, donc, je cherche de quelles façon je pourrais procéder sans
être obligé d'assigner chaque valeur une à une au propriété en codant une
ligne pour chacune d'elle tandis que je pourrais faire une boucle sur
celle-ci.

Merci
David






Avatar
Eric Mittelette[MS\)
de plus on pourra lire les valeurs de ces propriétés via :
p.GetValue(PictureBox1, Nothing).ToString()
(attention au cast sur certaine propriété qui sont a nothing)


Coté sérialisation du usercontrol, est il possible de mettre l'attribut
serializable devant la classe (ie, avez vous la possibilité de rebuilder le
composant ?), auquel cas ce sera plus simple/élégant que la boucle....

HTH
Eric


"Eric Mittelette[MS)" a écrit dans le message de
news:
Bonjour,

Il faut passer par la reflection, un exemple ci dessous qui enumère les
properties d'un picturebox...

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
'récupération des propriétés du picture box.
Dim t As Type = PictureBox1.GetType()
Dim pi() As PropertyInfo = t.GetProperties((BindingFlags.Public Or
BindingFlags.Instance))
Dim p As PropertyInfo
For Each p In pi
TextBox1.Text += vbCrLf + p.Name
Next p
End Sub

HTH
Eric


"David Bouchard" a écrit dans le message de
news:
Est-ce que quelqu'un sait comment passé en revu toutes les propriétés
d'une classe dans une boucle. Autrement dit, c'st que je cherche à garder
en mémoire toutes les propriétés de ma classe dans un fichier et j'aimais
bien utiliser la sérialisation me permettant ainsi de garder en mémoire
l'état de mes objets. Mon problème est que je ne peux pas sérialiser un
usercontrol, donc, je cherche de quelles façon je pourrais procéder sans
être obligé d'assigner chaque valeur une à une au propriété en codant une
ligne pour chacune d'elle tandis que je pourrais faire une boucle sur
celle-ci.

Merci
David










Avatar
David Bouchard
Merci pour ta réponse, c'est très intéressant, pour ce qui est de mettre
Serializable en avant de ma classe, oui, je peux le placer mais ceci me
donne une erreur l'hors de la sérialisation.

"Eric Mittelette[MS)" a écrit dans le message de
news: e$
de plus on pourra lire les valeurs de ces propriétés via :
p.GetValue(PictureBox1, Nothing).ToString()
(attention au cast sur certaine propriété qui sont a nothing)


Coté sérialisation du usercontrol, est il possible de mettre l'attribut
serializable devant la classe (ie, avez vous la possibilité de rebuilder
le composant ?), auquel cas ce sera plus simple/élégant que la boucle....

HTH
Eric


"Eric Mittelette[MS)" a écrit dans le message de
news:
Bonjour,

Il faut passer par la reflection, un exemple ci dessous qui enumère les
properties d'un picturebox...

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
'récupération des propriétés du picture box.
Dim t As Type = PictureBox1.GetType()
Dim pi() As PropertyInfo = t.GetProperties((BindingFlags.Public Or
BindingFlags.Instance))
Dim p As PropertyInfo
For Each p In pi
TextBox1.Text += vbCrLf + p.Name
Next p
End Sub

HTH
Eric


"David Bouchard" a écrit dans le message de
news:
Est-ce que quelqu'un sait comment passé en revu toutes les propriétés
d'une classe dans une boucle. Autrement dit, c'st que je cherche à
garder en mémoire toutes les propriétés de ma classe dans un fichier et
j'aimais bien utiliser la sérialisation me permettant ainsi de garder en
mémoire l'état de mes objets. Mon problème est que je ne peux pas
sérialiser un usercontrol, donc, je cherche de quelles façon je pourrais
procéder sans être obligé d'assigner chaque valeur une à une au
propriété en codant une ligne pour chacune d'elle tandis que je pourrais
faire une boucle sur celle-ci.

Merci
David