La alternativa, usar el objeto en lugar de T, haría que la función devuelva el objeto.
Cuando vuelve T, se puede hacer algo como:
addAndReturn(myElement, col).SomeMethodOfMyElement();
Si addAndReturn volvió objeto en lugar, usted tendría que usar ya sea
((MyElementType)addAndReturn(myElement, col)).SomeMethodOfMyElement();
que necesita una conversión explícita, o
addAndReturn(myElement, col);
myElement.SomeMethodOfMyElement;
que necesita dos instrucciones en lugar de una.
EDIT: Ahora que su pregunta ha sido formateado, veo que uno de los parámetros es Collection<T>
. En ese caso, la sintaxis genérica asegura que
addAndReturn(mySquare, collectionOfCircles);
devuelve un error en tiempo de compilación en lugar de un error de tiempo de ejecución.
EDIT: Y en caso de que su pregunta era acerca de la sintaxis <T>
en lugar de sobre el uso de los genéricos en general: El <T>
le dice al compilador que el T
utilizado en la definición del método es no alguna clase T sino más bien un marcador de posición para cualquier clase "adecuada" para una llamada específica del método.
Lea las pautas de formato antes de enviar su pregunta. Son bastante difíciles de perder – Joe
intente formatear los ejemplos de código como código – NDM
@Joe, @Nicky De Maeyer: Solucioné los problemas de formato y eliminé el PS. – Asaph