[vb.net]initialisateur pour les membres de structure
bonjour,
Je rencontre un petit soucis dans la gestion d'un tableau dynamique membre d'une structure.
Voici ma structure de donnée :
Code:
1 2 3 4 5 6 7 8
|
Public Structure structdef
Dim nbEmploye() As Integer = New Integer() {}
Dim capHHebdo() As Integer
Dim capHMensuel() As Integer
End Structure
Dim ResultatFeuille() As structdef = New structdef() {} |
Le soucis c qu'il ne semble pas possible d'initialiser une donnée de cette façon à moins qu'elle ne soit "shared".
Voici l'erreur :
Citation:
Les initialiseurs pour les membres de structure ne sont valides que pour les membres et constantes 'Shared'.
L'autre soucis, si je n'initialise pas mon tableau a vide :
Code:
1 2 3 4 5
| Public Structure structdef
Dim nbEmploye() As Integer
Dim capHHebdo() As Integer
Dim capHMensuel() As Integer
End Structure |
Lorsque je tente de faire un Redim sur le tableau :
Code:
ReDim Preserve ResultatFeuille(col).nbEmploye(ResultatFeuille(col).nbEmploye.Length)
J'ai une erreur de :
Citation:
L'index se trouve en dehors des limites du tableau.
J'ai donc modifié ma structure comme suis
Code:
1 2 3 4 5
| Public Structure structdef
Shared nbEmploye() As Integer = New Integer() {}
Dim capHHebdo() As Integer
Dim capHMensuel() As Integer
End Structure |
Le soucis c qu'avec cette méthode je n'ai plus la possibilité d'avoir un tableau nbEmployé indépendant pour chaque ResultatFeuille la modification de la taille d'un seul nbEmployé, modifie tous les autres.
Je cherche donc un moyen d'initialiser vide mon nbemployé dans ma structure puis de pouvoir le faire grandir dynamiquement au besoin.
Je ne sais pas si ce que je cherche à faire est possible et surtout si j'ai bien exprimé mon problème.
Si vous avez une idée je vous remercie d'avance.
cordialement