Los tipos genéricos son una nueva característica en la versión 2.0 del lenguaje C# y Common Language Runtime (CLR). Estos tipos agregan el concepto de parámetros de tipo a .NET Framework, lo cual permite diseñar clases y métodos que aplazan la especificación de uno o más tipos hasta que el código de cliente declara y crea una instancia de la clase o del método. Por ejemplo, mediante la utilización de un parámetro de tipo genérico T, se puede escribir una clase única que otro código de cliente puede utilizar sin generar el costo o el riesgo de conversiones en tiempo de ejecución u operaciones de conversión boxing, como se muestra a continuación:
// Declare the generic class
public class GenericList<T>
{
void Add(T input) { }
}
class TestGenericList
{
private class ExampleClass { }
static void Main()
{
// Declare a list of type int
GenericList<int> list1 = new GenericList<int>();
// Declare a list of type string
GenericList<string> list2 = new GenericList<string>();
// Declare a list of type ExampleClass
GenericList<ExampleClass> list3 = new GenericList<ExampleClass>();
}
}
Información general acerca de los tipos genéricos
-
Utilice los tipos genéricos para maximizar la reutilización, seguridad de tipos y rendimiento del código.
-
El uso más común de genéricos es crear clases de colección.
-
La biblioteca de clases de .NET Framework contiene varias nuevas clases de colección genéricas en el espacio de nombres System.Collections.Generic. Éstas se deberían utilizar siempre que sea posible en lugar de clases como ArrayList en el espacio de nombres System.Collections.
-
Puede crear sus propias interfaces, clases, métodos, eventos y delegados genéricos.
-
Las clases genéricas se pueden restringir para permitir el acceso a métodos en tipos de datos determinados.
-
Se puede obtener información sobre los tipos utilizados en un tipo de datos genéricos en tiempo de ejecución y mediante reflexión.
Secciones relacionadas
Para obtener más información:
Especificación del lenguaje C#
Vea también