Pregunta
Tengo una clase declarada de la siguiente manera:
Public MustInherit Container(Of T As {New, BaseClass}) Inherits ArrayList(Of T)
Tengo clases que heredan esta clase.
Tengo otra clase a la que debo pasar instancias en este método:
Public Sub LoadCollection(Of T As {BaseClass, New})(ByRef Collection As Container(Of T))
Necesito almacenar el objeto pasado en una variable global, pero simplemente no puedo declararlo:
Private _Container as Collection(Of BaseClass)
¿Cuál es la sintaxis para declarar este objeto?
Solución
Lo siento, no tengo tiempo de ampliar esto ahora mismo, pero creo que este enlace describe su problema subyacente y una solución.
(También puede encontrar este interesante.)
Otros consejos
No puede ser una variable global. El contenedor es una idea, no una cosa.
Tal como lo diseñó, esa idea solo se transforma en una cosa real dentro de LoadCollection (). Debe transmitir la información fuera de ese método.
Hmmm. " Colección " es un nombre de variable, no un tipo. Creo que esto es lo que quieres:
Private _Container as Container(Of BaseClass)
Además, ArrayList no es una clase genérica; ¿no te refieres a heredar Lista (de T)?