L'alternativa, utilizzando l'oggetto anziché T, causerebbe il ritorno dell'oggetto alla funzione.
Quando ritorna T, si può fare qualcosa di simile:
addAndReturn(myElement, col).SomeMethodOfMyElement();
Se addAndReturn restituito oggetto invece, si dovrà utilizzare
((MyElementType)addAndReturn(myElement, col)).SomeMethodOfMyElement();
che ha bisogno di un cast esplicito, o
addAndReturn(myElement, col);
myElement.SomeMethodOfMyElement;
che richiede due istruzioni invece di una.
EDIT: Ora che la tua domanda è stato formattato, vedo che uno dei parametri è Collection<T>
. In tal caso, la sintassi generica garantisce che
addAndReturn(mySquare, collectionOfCircles);
restituisce un errore di compilazione invece che un errore di run-time.
EDIT: E solo nel caso in cui la tua domanda era sulla sintassi <T>
piuttosto che circa l'uso dei farmaci generici in generale: Il <T>
dice al compilatore che il T
utilizzato nella definizione del metodo è non qualche classe T ma piuttosto un segnaposto per qualunque classe "si adatta" a una chiamata specifica del metodo.
Leggere le linee guida di formattazione prima di inviare la domanda. Sono piuttosto difficili da perdere. – Joe
prova a formattare gli esempi di codice come codice – NDM
@Joe, @Nicky De Maeyer: ho risolto i problemi di formattazione e rimosso il PS. – Asaph