Partilhar via


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:

Especificação da linguagem C#

Para obter mais informações, consulte o Especificação da linguagem C#.

Consulte também

Conceitos

Guia de Programação C#

Referência

System.Collections.Generic

Tipos (guia de programação translation from VPE for Csharp)

<typeparam> (C# Programming Guide)

<typeparamref> (C# Programming Guide)