Generics (Guia de programação C#)
Classes genéricas foram adicionadas à versão 2.0 da linguagem translation from VPE for Csharp e o common language tempo de execução (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.
Biblioteca de classes do .NET estrutura contém várias novas classes de coleção genérica no System.Collections.Generic namespace. Esses devem ser usados sempre que possível, em vez de classes, sistema autônomo ArrayList no System.Collections namespace.
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 time de execução usando reflexão.
Seções relacionadas
Para obter mais informações:
A palavra-chave default em código fonte "genérico" (Guia de programação C#)
Diferenças entre modelos C++ e Generics C# (guia de programação C#)
Genéricos no time de execução (guia de programação translation from VPE for Csharp)
Generics na biblioteca de classe Framework .NET (guia de programação C#)
Especificação da linguagem C#
Para obter mais informações, consulte o Especificação da linguagem C#.
Consulte também
Conceitos
Referência
Tipos (guia de programação translation from VPE for Csharp)