bonjour,
dans le constructeur d'une classe, comment puis-je enumérer les variables
pour leur attribuer une valeur?
(plutot que de le faire variable par variable)
Public Class MaClasse
Dim MaVariable as String
Dim MaVariable1 as String
Dim MaVariable2 as String
Dim MaVariable3 as String
Public Sub New(ByVal MaValeur as string)
'recherche dans une base de données obtention d'un datarow en
resultat
'ICI je voudrais qq chose comme
for each machin in me
me("nom de mavariable i")=valeurdatarow(demavariable i)
next
End Sub
Function MaFonction() As Boolean
...
End Function
End Class
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fabien Bezagu
Vincent,
Cette technique s'appelle la réflexion. Tu peux ainsi obtenir toutes les informations sur un type dynamiquement.
Pour ton exemple, quelque chose comme ceci devrait faire l'affaire :
Dim i As Integer = 1
For Each field As FieldInfo In Me.GetType.GetFields(BindingFlags.NonPublic Or BindingFlags.Instance) field.SetValue(Me, i) i += 1 Next
Fabien
"Vincent" a écrit dans le message de news: df9pf6$vju$
bonjour, dans le constructeur d'une classe, comment puis-je enumérer les variables pour leur attribuer une valeur? (plutot que de le faire variable par variable)
Public Class MaClasse
Dim MaVariable as String Dim MaVariable1 as String Dim MaVariable2 as String Dim MaVariable3 as String
Public Sub New(ByVal MaValeur as string) 'recherche dans une base de données obtention d'un datarow en resultat
'ICI je voudrais qq chose comme for each machin in me me("nom de mavariable i")=valeurdatarow(demavariable i) next End Sub
Function MaFonction() As Boolean ... End Function End Class
merci pour les infos!
Vincent
Vincent,
Cette technique s'appelle la réflexion. Tu peux ainsi obtenir toutes les
informations sur un type dynamiquement.
Pour ton exemple, quelque chose comme ceci devrait faire l'affaire :
Dim i As Integer = 1
For Each field As FieldInfo In Me.GetType.GetFields(BindingFlags.NonPublic
Or BindingFlags.Instance)
field.SetValue(Me, i)
i += 1
Next
Fabien
"Vincent" <cpasunmailca@antispam.net> a écrit dans le message de news:
df9pf6$vju$1@s1.news.oleane.net...
bonjour,
dans le constructeur d'une classe, comment puis-je enumérer les variables
pour leur attribuer une valeur?
(plutot que de le faire variable par variable)
Public Class MaClasse
Dim MaVariable as String
Dim MaVariable1 as String
Dim MaVariable2 as String
Dim MaVariable3 as String
Public Sub New(ByVal MaValeur as string)
'recherche dans une base de données obtention d'un datarow en
resultat
'ICI je voudrais qq chose comme
for each machin in me
me("nom de mavariable i")=valeurdatarow(demavariable i)
next
End Sub
Function MaFonction() As Boolean
...
End Function
End Class
Cette technique s'appelle la réflexion. Tu peux ainsi obtenir toutes les informations sur un type dynamiquement.
Pour ton exemple, quelque chose comme ceci devrait faire l'affaire :
Dim i As Integer = 1
For Each field As FieldInfo In Me.GetType.GetFields(BindingFlags.NonPublic Or BindingFlags.Instance) field.SetValue(Me, i) i += 1 Next
Fabien
"Vincent" a écrit dans le message de news: df9pf6$vju$
bonjour, dans le constructeur d'une classe, comment puis-je enumérer les variables pour leur attribuer une valeur? (plutot que de le faire variable par variable)
Public Class MaClasse
Dim MaVariable as String Dim MaVariable1 as String Dim MaVariable2 as String Dim MaVariable3 as String
Public Sub New(ByVal MaValeur as string) 'recherche dans une base de données obtention d'un datarow en resultat
'ICI je voudrais qq chose comme for each machin in me me("nom de mavariable i")=valeurdatarow(demavariable i) next End Sub
Function MaFonction() As Boolean ... End Function End Class
merci pour les infos!
Vincent
Vincent
Merci beaucoup Fabien
c'est vrai qu'avec un peu de reflexion... ;)
"Fabien Bezagu" <fbezagu_at_novacor_dot_fr> a écrit dans le message de news:
Vincent,
Cette technique s'appelle la réflexion. Tu peux ainsi obtenir toutes les informations sur un type dynamiquement.
Pour ton exemple, quelque chose comme ceci devrait faire l'affaire :
Dim i As Integer = 1
For Each field As FieldInfo In Me.GetType.GetFields(BindingFlags.NonPublic Or BindingFlags.Instance) field.SetValue(Me, i) i += 1 Next
Fabien
"Vincent" a écrit dans le message de news: df9pf6$vju$
bonjour, dans le constructeur d'une classe, comment puis-je enumérer les variables pour leur attribuer une valeur? (plutot que de le faire variable par variable)
Public Class MaClasse
Dim MaVariable as String Dim MaVariable1 as String Dim MaVariable2 as String Dim MaVariable3 as String
Public Sub New(ByVal MaValeur as string) 'recherche dans une base de données obtention d'un datarow en resultat
'ICI je voudrais qq chose comme for each machin in me me("nom de mavariable i")=valeurdatarow(demavariable i) next End Sub
Function MaFonction() As Boolean ... End Function End Class
merci pour les infos!
Vincent
Merci beaucoup Fabien
c'est vrai qu'avec un peu de reflexion...
;)
"Fabien Bezagu" <fbezagu_at_novacor_dot_fr> a écrit dans le message de news:
ehUrSO9rFHA.2064@TK2MSFTNGP09.phx.gbl...
Vincent,
Cette technique s'appelle la réflexion. Tu peux ainsi obtenir toutes les
informations sur un type dynamiquement.
Pour ton exemple, quelque chose comme ceci devrait faire l'affaire :
Dim i As Integer = 1
For Each field As FieldInfo In Me.GetType.GetFields(BindingFlags.NonPublic
Or BindingFlags.Instance)
field.SetValue(Me, i)
i += 1
Next
Fabien
"Vincent" <cpasunmailca@antispam.net> a écrit dans le message de news:
df9pf6$vju$1@s1.news.oleane.net...
bonjour,
dans le constructeur d'une classe, comment puis-je enumérer les variables
pour leur attribuer une valeur?
(plutot que de le faire variable par variable)
Public Class MaClasse
Dim MaVariable as String
Dim MaVariable1 as String
Dim MaVariable2 as String
Dim MaVariable3 as String
Public Sub New(ByVal MaValeur as string)
'recherche dans une base de données obtention d'un datarow en
resultat
'ICI je voudrais qq chose comme
for each machin in me
me("nom de mavariable i")=valeurdatarow(demavariable i)
next
End Sub
Function MaFonction() As Boolean
...
End Function
End Class
"Fabien Bezagu" <fbezagu_at_novacor_dot_fr> a écrit dans le message de news:
Vincent,
Cette technique s'appelle la réflexion. Tu peux ainsi obtenir toutes les informations sur un type dynamiquement.
Pour ton exemple, quelque chose comme ceci devrait faire l'affaire :
Dim i As Integer = 1
For Each field As FieldInfo In Me.GetType.GetFields(BindingFlags.NonPublic Or BindingFlags.Instance) field.SetValue(Me, i) i += 1 Next
Fabien
"Vincent" a écrit dans le message de news: df9pf6$vju$
bonjour, dans le constructeur d'une classe, comment puis-je enumérer les variables pour leur attribuer une valeur? (plutot que de le faire variable par variable)
Public Class MaClasse
Dim MaVariable as String Dim MaVariable1 as String Dim MaVariable2 as String Dim MaVariable3 as String
Public Sub New(ByVal MaValeur as string) 'recherche dans une base de données obtention d'un datarow en resultat
'ICI je voudrais qq chose comme for each machin in me me("nom de mavariable i")=valeurdatarow(demavariable i) next End Sub
Function MaFonction() As Boolean ... End Function End Class