Estimado,
creo que la solucion a tu problema va por el uso de Listas Genericas, mantener las propiedades como tu lo estas haciendo actualmente (con arreglos), provoca 2 problemas, uno es el consumo de memoria, por ende lentitud de tu software y dos, problemas a la hora de hacer conversiones (Boxing y Unboxing), ya que como los elementos de tu arreglo no son tratados como objetos, pierdes un poco la logica POO, mi sugerencia es:
Código:
dim i as integer
dim listaProveedores as IList(Of Proveedor)
For i=1 to 100
dim objProveedor as new Proveedor(i, "Proveedor" & i)
listaProveedores.add(objProveedor)
Next
Y para recorrer los proveedores...
Código:
For Each objProveedor as Proveedor in listaProveedores
console.writeline(objProveedor.toString()) 'Aca se llama a la funcion sobreescrita tostring() de la clase proveedor
Next
y la clase proveedor deberia ser asi:
Código:
Public Class Proveedor
'campos
public id as integer
public nombre as string
'Funcion tostring sobreescrita
public function overrides ToString() as string
return me.id.tostring() & " " & me.nombre
end function
End class
Espero haberte ayudado... si por algun motivo hay algun error por favor me lo corriges...
Buena suerte...
Juantux