Procedura: definire insiemi nelle classi (Visual Basic)
È possibile aggiungere un insieme a una delle classi per gestire i gruppi di oggetti da essa utilizzati. Il modo più semplice di procedere consiste nell'aggiungere una variabile pubblica di tipo Collection alla propria classe. Si consideri un'ipotetica classe denominata widgetRepository che gestisce ed espone oggetti widget. Come descritto nella routine che segue, è possibile creare una variabile widgetColl per fare riferimento a un insieme widget.
Definizione di un insieme semplice
Per definire un insieme semplice in una classe
Creare una variabile pubblica con funzione di insieme per gli oggetti.
Public Class widgetRepository Public widgetColl As New Microsoft.VisualBasic.Collection() ' Insert code to implement additional functionality. End Class
La classe widgetRepository ora dispone di un insieme pubblico al quale è possibile aggiungere oggetti widget. È quindi possibile utilizzare un'Istruzione For Each...Next (Visual Basic) per elaborare gli elementi dell'insieme, come illustrato nel codice che segue.
For Each aWidget As widget In widgetColl ' Insert code to process widgetColl elements Next aWidget
L'insieme widgetColl definito nell'esempio precedente non è fortemente tipizzato e pertanto è possibile aggiungervi qualsiasi tipo di oggetto, non solo gli oggetti widget. Ciò può generare problemi di indipendenza dai tipi. Si supponga, ad esempio, di aggiungere un oggetto String all'insieme, come nel codice che segue.
Dim notWidget As String = "This is not a widget object!" widgetColl.Add(notWidget)
In questo caso, il ciclo For Each nella routine precedente genera un'eccezione ArgumentException in fase di esecuzione in quanto un elemento dell'insieme non è di tipo widget.
Per garantire l'indipendenza dai tipi, si consiglia di definire una classe generica. Per ulteriori informazioni e un esempio, vedere Procedura: definire insiemi indipendenti dai tipi (Visual Basic).
Vedere anche
Attività
Procedura: definire insiemi indipendenti dai tipi (Visual Basic)