Grazie per la risposta. Mi serviva solo il concetto che se istanzio la classe B devo usare solo quella (e così anche per la classe A). In effetti, la classe B deve essere "autonoma" e dunque deve poter inserire anche il primo elemento (quindi o invoco A.Metodo() o B.Metodo(), non entrambe). Infatti non avrebbe senso se B.Metodo() inserisse gli elementi dal 2 all'ennesimo, deve inserire anche il primo, visto che eredita da A (la estende quindi deve fare quello che fa A più altre cose). Dimmi se ho ragione, faccio così:
A a;
if(checkBox NON è selezionata) then
{
a = new A();
a.Metodo(); //inserisco solo il primo elemento nella lista globale
}
else
{
a = new B();
a.Metodo(); //inserisco tutti gli elementi (anche il primo) nella lista globale
} /* il polimorfismo si nota ugualmente, vero? Non fa niente che verrà eseguito solo uno dei due metodi (e non entrambi in sequenza)? */
Per quanto riguarda i parametri, in realtà Metodo() riceve due parametri, non l'avevo detto perchè volevo semplificare al massimo. Poi, sia A.Metodo() che B.Metodo() usano una unica lista globale (in realtà è una lista di una lista.....e il metodo crea una lista e la aggiunge alla lista globale, essendo un "elemento" della lista globale). Alla lista globale (lista di lista) viene aggiunto l'elemento (lista creata localmente nel metodo) con il classico metodo Add che accoda l'elemento alla lista (quindi non servono indici). Ora volevo chiederti se va bene avere questa unica lista globale oppure devo mettere una lista all'interno della classe A (che conterrà un solo elemento, ovviamente....quindi in questo caso potrebbe anche non essere una lista) e una nella classe B (contenente più di un elemento, anche il primo). Però questa opzione mi sembra un po' "scomoda" dato che nelle altre operazioni (che usano la lista) dovrà controllare quale ho usato (quella di A o quella di B). Non posto il codice di queste due classi metodo perchè è lungo e complicato e, per capirlo, necessita anche del codice di altre classi.
Fammi sapere, questo progetto mi sta facendo impazzire