Je viens de remarquer que vous avez modifié votre question. Si je me trompe pas, la seule chose que vous êtes absent est maintenant (je suis un gars C#, peut-être qu'il ya des failles dans le code VB.NET suivant):
for i = 0 to dataset4Category(i).Tables(0).Rows.Count - 1
myButton(i) = New ucSpecialButton();
// ... specific button properties ...
next
Pour le code, vous avez collé dans votre question ne crée pas les boutons encore, il alloue seulement la mémoire pour le tableau:
Dim myButton() As Button = New ucSpecialButton(
dataset4Category(i).Tables(0).Rows.Count - 1) {}
New
dans cet endroit signifie pour créer un nouveau tableau pour les références, pour ne pas créer de nouveaux objets. ucSpecialButton(...)
dans ce lieu n'est pas le constructeur d'un objet. Au lieu de cela, il indique seulement le type d'objet pour lequel vous voulez préparer le tableau. Vous pouvez IMHO aussi bien écrire New Button(...)
.
Soit dit en passant: à mon humble avis, il devrait être
`New ucSpecialButton(dataset4Category(i).Tables(0).Rows.Count)`
Sans - 1
. Dans la boucle for cependant, le - 1
est correct (un tableau de taille 10 va de 0..9).
'Contrôle [] foo = nouveau contrôle [10];'. Ou est-ce que je manque quelque chose? Est-ce vraiment ce que tu veux? –