Альтернатива, используя объект вместо T, заставит функцию возвращать объект.
Когда она возвращает T, вы можете сделать что-то вроде:
addAndReturn(myElement, col).SomeMethodOfMyElement();
Если addAndReturn возвращаемый объект вместо этого, вы должны использовать либо
((MyElementType)addAndReturn(myElement, col)).SomeMethodOfMyElement();
который нуждается в явное приведение, или
addAndReturn(myElement, col);
myElement.SomeMethodOfMyElement;
, которому требуется два утверждения вместо одного.
EDIT: Теперь, когда ваш вопрос был отформатирован, я вижу, что один из параметров Collection<T>
. В этом случае общий синтаксис гарантирует, что
addAndReturn(mySquare, collectionOfCircles);
возвращает ошибку во время компиляции вместо ошибки времени выполнения.
EDIT: И только в случае, если ваш вопрос был о синтаксисе <T>
, а не об использовании дженериков В общем: <T>
сообщает компилятору, что T
используется в определении метода является не некоторый класс T а скорее заполнитель для любого класса, «подходящего» для конкретного вызова метода.
Ознакомьтесь с инструкциями по форматированию перед отправкой вопроса. Их довольно сложно пропустить. – Joe
попробуйте форматировать примеры кода как код – NDM
@Joe, @Nicky De Maeyer: Я исправил проблемы с форматированием и удалил PS. – Asaph