Genéricos (Guía de programación de C#)
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:
-
Restricciones de tipos de parámetros (Guía de programación de C#)
-
Palabra clave predeterminada en código genérico (Guía de programación de C#)
-
Diferencias entre plantillas de C++ y tipos genéricos de C# (Guía de programación de C#)
-
Genéricos en el motor en tiempo de ejecución (Guía de programación de C#)
-
Tipos genéricos en la biblioteca de clases de .NET Framework (Guía de programación de C#)
Especificación del lenguaje C#
Para obtener más información, vea las secciones siguientes de Especificación del lenguaje C#.
-
20 Genéricos