Domanda

Ho una classe dichiarata come segue:

Public MustInherit Container(Of T As {New, BaseClass}) Inherits ArrayList(Of T)

Ho delle classi che ereditano questa classe.

Ho un'altra classe che devo passare istanze in questo metodo:

Public Sub LoadCollection(Of T As {BaseClass, New})(ByRef Collection As Container(Of T))

Devo archiviare l'oggetto passato in una variabile globale, ma non posso semplicemente dichiararlo:

Private _Container as Collection(Of BaseClass)

Qual è la sintassi per dichiarare questo oggetto?

È stato utile?

Soluzione

Mi dispiace non ho tempo di espandermi su questo adesso, ma penso questo link descrive il problema di fondo e una soluzione.

(Potresti anche trovare questo interessante.)

Altri suggerimenti

Non può essere una variabile globale. Il contenitore è un'idea, non una cosa.

Come hai progettato, quell'idea si trasforma in una cosa reale solo all'interno di LoadCollection (). Devi trasmettere le informazioni al di fuori di quel metodo.

Hmmm. & Quot; Collection " è un nome variabile, non un Tipo. Penso che questo sia quello che vuoi:

Private _Container as Container(Of BaseClass)

Inoltre, ArrayList non è una classe generica; non intendi ereditare List (di T)?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top