Eso sería un "genérico". Como la gente ya ha mencionado, hay una explicación de Microsoft del concepto. En cuanto a por qué la "T" - vea esta pregunta .
En pocas palabras, le permite crear una clase / método que se especializa en un tipo específico. Un ejemplo clásico es la System.Collections.Generic.List<T>
clase. Es lo mismo que System.Collections.ArrayList
, excepto que le permite almacenar solo el artículo de tipo T
. Esto proporciona seguridad de tipos: no puede (accidentalmente o de otro modo) poner elementos del tipo incorrecto en su lista. El System.Collections.Generic
espacio de nombres contiene varios otros tipos de colecciones diferentes que hacen uso de esto.
En cuanto a dónde podría usarlo, eso depende de usted. Hay muchos casos de uso que surgen de vez en cuando. En su mayoría, es una especie de colección hecha por uno mismo (cuando las incorporadas no son suficientes), pero realmente podría ser cualquier cosa.