Utilizzare la proprietà .Tag come un array di tipo Variant

Da Gambas-it.org - Wikipedia.

La Proprietà ".Tag" di un Oggetto può essere anche utilizzata come un array di tipo Variant, e pertanto capace di contenere valori di diverso tipo.

Affinché ciò sia possibile, è necessario assegnare alla Proprietà ".Tag" un array di valori:

oggetto.Tag = [valore_1, valore_2, etc...]

Mostriamo un esempio, nel quale la Proprietà ".Tag" di un Button conterrà valori di diverso tipo: una stringa, un valore numerico, una variabile di tipo Struttura, una variabile array di tipo byte, una variabile stringa ed una di tipo byte;

Public Struct STRUTTURA
  b As Byte
  i As Integer
  s As String
End Struct


Public Sub Button1_Click()

 Dim stt As New STRUTTURA
 Dim prova As String = "prova Tag"
 Dim bb As New Byte[]
 Dim b As Byte

 With stt
   .b = 10
   .i = 100000
   .s = "s = " & Str(.b + .i)
 End With

 For b = 0 To 9
   bb.Add(100 + b)
 Next

 With Button1
' Assegna un array formato da valori e variabili al .Tag del Button:
   .Tag = ["testo qualsiasi", 324, prova, bb, stt]
' Poi li mostra in console:
   Print .Tag[0]
   Print .Tag[1]
   Print .Tag[2]
' Mostra i valori assegnati agli elementi della variabile array:
   For b = 0 To bb.Max
     Print .Tag[3][b]
   Next
' Mostra i valori contenuti dagli elementi della variabile di tipo "Struttura":
   Print .Tag[4].b
   Print .Tag[4].i
   Print .Tag[4].s
 End With

End