Es convención utilizar T
para tipos genéricos (comparable con "plantillas" en C++, etc).
Si hay un solo tipo (List<T>
), entonces solo T
está bien (no hay nada más que explicar); pero si hay varios tipos genéricos, el T
tiene el mismo propósito. Por lo tanto, TKey
es el tipo genérico de la "clave" y TValue
del valor. ¡Si ayuda en este caso, si sabe que un diccionario mapea las claves de los valores!
El intellisense generalmente le dirá lo que significa cada argumento de tipo; por ejemplo, con Func<T1,T2,TResult>
:
T1
: El tipo del primer parámetro del método que este delegado encapsula.
T2
: El tipo del segundo parámetro del método que este delegado encapsula.
TResult
: El tipo de valor de retorno del método que este delegado encapsula.
(tomado de datos de comentarios del tipo)
Una clase o método genérico con tantos parámetros sería una gran "WTF" por sí mismo, incluso si se llamaran correctamente :) – Thorarin