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?

¿Fue útil?

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)?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top