Genéricos (guia de programação do C#)
Os Generics foram adicionados à versão 2.0 da linguagem C# e o Common Language Runtime (CLR).Generics introduzem no .NET Framework o conceito de parâmetros de tipos, que tornam possíveis a estruturação de classes e métodos que adiam a especificação de um ou mais tipos até que a classe ou método seja declarada e instanciada pelo código do cliente.Por exemplo, usando um parâmetro de tipo genérico T você pode escrever uma única classe que outro código do cliente poderá usar sem aumentar o custo ou risco de conversões (cast) em tempo de execução (runtime) ou operações de boxing, conforme mostrado abaixo:
// 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>();
}
}
Visão geral generics
Usar tipos genéricos para maximizar reutilização de código, segurança de tipo, e desempenho.
O uso mais comum de generics é para criar classes coleção.
A.NET Framework contém várias classes de coleção genérica de novo na System.Collections.Generic espaço para nome.Esses devem ser usados sempre que possível, em vez de classes como ArrayList na System.Collections espaço para nome.
Você pode criar suas próprias interfaces genéricas, classes, métodos, eventos e delegates.
Classes genéricas podem ser utilizadas para permitir acesso aos métodos usando tipos de dados específicos.
Informações sobre os tipos que são usados em um tipo de dados genéricos podem ser obtidas em tempo de execução usando reflexão.
Seções relacionadas
Para obter mais informações:
Restrições em parâmetros de tipo (guia de programação do C#)
padrão de palavra-chave no código genérico (C# Programming Guide)
Diferenças entre modelos C++ e C# genéricos (guia de programação do C#)
Os genéricos do.NET Framework Class Library (guia de programação do C#)
Especificação da linguagem C#
Para obter mais informações, consulte o Especificação de linguagem do C#.
Consulte também
Referência
Tipos (guia de programação do C#)
<typeparam> (Guia de programação C#)
<typeparamref> (Guia de programação C#)