Hola, Mauricio:
El mensaje de error de referencia nula se debe a que declaras el arreglo de objetos de tipo Class1, pero no lo dimensionas. Deberías declararlo de la siguiente manera:
Dim m_library(n) As Class1
Esa “n” será la longitud que se le asignará al arreglo (el número de elementos). En este caso “n” sería 1 dado que tienes 2 elementos y los índices empiezan en cero:
Dim m_library(1) As Class1
Sin embargo, esto sería así de simple si es que quisieras asignar siempre un número fijo de instancias. De lo contrario, si trabajas con arreglos de objetos y quieres asignar más objetos de los que pensaste al inicializarlos, tendrías que utilizar la palabra clave ReDim para que redimensione tu arreglo, y además la palabra clave Preserve para que se mantengan los elementos de tu arreglo.
Personalmente, prefiero utilizar la clase de colección ArrayList en vez de redimensionar arreglos. De esta manera no te preocupas al principio por la cantidad de elementos que tendrá tu estructura, simplemente vas agregando y eliminando elementos de la siguiente manera:
Dim m_library As New ArrayList
Dim thisBook As New Class1("Cuento de Adas", "El cuento de los Osos y la Miel."))
m_library.Add(thisBook)
Dim anotherBook As New Class1("Cocina", "Chocolate chip cookies are the most delicius cookies")
m_library.Add(anotherBook)
Esto se debe a que esta clase implementa, entre otras, a tres interfaces muy útiles para los tipos de colecciones: IList, cuya funcionalidad te permite agregar elementos, eliminar elementos, limpiar la colección, establecer si la colección contiene o no a un elemento determinado, ... ; ICollection, cuya funcionalidad te permite obtener el número de elementos de la colección, copiar los elementos de la colección a un arreglo, ... ; e IEnumerable, cuya funcionalidad te permite recorrer los elementos de la colección.
Quizás no te parezca muy familiar al principio, pero vas a ver con la práctica que es muy útil. Suerte.
Я!©ђ!Є ©Я∆ZΨ |