Share via


Generics and Reflection (C# Programming Guide)

Porque o tempo de execução de linguagem comum (CLR) tem acesso às informações de tipo genérico em tempo de execução, você pode usar a reflexão para obter informações sobre tipos genéricos da mesma forma como para os tipos de não-genéricas. Para obter mais informações, consulte Genéricos no Executar Hora (guia de programação C#).

No .NET Framework 2.0 vários novos membros são adicionados para o Type classe para habilitar as informações de tempo de execução para tipos genéricos. Consulte a documentação dessas classes para obter mais informações sobre como usar esses métodos e propriedades. O System.Reflection.Emit namespace também contém novos membros que suportam a genéricos. Consulte Como: Definir um tipo genérico com reflexão emitir.

Para obter uma lista das condições invariável para termos usados na reflexo genérico, consulte o IsGenericType propriedade comentários.

Nome do membro do Type

Descrição

IsGenericType

Retorna true se um tipo é genérico.

GetGenericArguments

Retorna uma matriz de Type objetos que representam os argumentos de tipo fornecido para um tipo construído, ou os parâmetros de tipo de uma definição de tipo genérico.

GetGenericTypeDefinition

Retorna a definição de tipo genérico subjacente para o tipo construído atual.

GetGenericParameterConstraints

Retorna uma matriz de Type objetos que representam as restrições sobre o parâmetro de tipo genérico atual.

ContainsGenericParameters

Retorna true se o tipo ou qualquer um dos seus tipos ou métodos de circunscrição contêm parâmetros de tipo para o qual tipos específicos não foram fornecidos.

GenericParameterAttributes

Obtém uma combinação de GenericParameterAttributes sinalizadores que descrevem as restrições especiais do parâmetro de tipo genérico atual.

GenericParameterPosition

Para um Type que representa um parâmetro de tipo de objeto obtém a posição do parâmetro de tipo na lista de parâmetro de tipo da definição de tipo genérico ou método genérico que declarado o parâmetro de tipo.

IsGenericParameter

Obtém um valor que indica se o atual Type representa um parâmetro de tipo de um genérico tipo ou método definição.

IsGenericTypeDefinition

Obtém um valor que indica se o atual Type representa uma definição de tipo genérico do qual podem ser construídos outros tipos genéricos. Retorna true se o tipo representa a definição de um tipo genérico.

DeclaringMethod

Retorna o método genérico que definiu o atual genérico, parâmetro de tipo ou nulo se o parâmetro de tipo não foi definido por um método genérico.

MakeGenericType

Substitui os elementos de uma matriz de tipos para os parâmetros de tipo de definição de tipo genérico atual e retorna um Type objeto que representa o tipo construído resultante.

Além disso, os novos membros foram adicionados para o MethodInfo classe para habilitar as informações de tempo de execução para métodos genéricos. Consulte o IsGenericMethod os comentários de propriedade para obter uma lista das condições invariável para termos usados para refletir em métodos genéricos.

Nome do membro de System.Reflection.MemberInfo

Descrição

IsGenericMethod

Retorna true se um método é genérico.

GetGenericArguments

Retorna uma matriz de objetos do tipo que representam os argumentos de tipo de um método genérico construído ou os parâmetros de tipo de uma definição de método genérico.

GetGenericMethodDefinition

Retorna a definição de método genérico subjacente para o método atual de construído.

ContainsGenericParameters

Retorna true se o método ou qualquer de seus tipos de delimitadoras contêm quaisquer parâmetros de tipo para o qual tipos específicos não foram fornecidos.

IsGenericMethodDefinition

Retorna VERDADEIRO se o atual MethodInfo representa a definição de um método genérico.

MakeGenericMethod

Substitui os elementos de uma matriz de tipos para os parâmetros de tipo de definição de método genérico atual e retorna um MethodInfo objeto que representa o método construído resultante.

Consulte também

Referência

Generics (C# Programming Guide)

Conceitos

C# Programming Guide

Reflexão e tipos genérico

Classes genéricas no .NET Framework