Compartilhar via


Genéricos e reflexão (guia de programação do C#)

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 tipos não genéricos.Para obter mais informações, consulte Genéricos no tempo de execução (guia de programação do C#).

No .NET Framework 2.0 vários novos membros foram 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 os 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 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 tipo de parâmetros 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 parâmetro de tipo de objetos que representam as restrições a atual genérica.

ContainsGenericParameters

Retorna true se o tipo ou qualquer uma das suas delimitador tipos ou métodos contêm parâmetros de tipo para o qual tipos específicos não foram fornecidos.

GenericParameterAttributes

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

GenericParameterPosition

Para um Type o objeto que representa um parâmetro de tipo, obtém a posição do parâmetro de tipo na lista de parâmetros 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 uma definição de tipo ou método genérico.

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 a atual genérica 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 que representa o resultante construído o tipo de objeto.

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 comentários de propriedade para obter uma lista das condições invariável para termos usados para refletir sobre os métodos genéricos.

Nome do membro 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 construído atual.

ContainsGenericParameters

Retorna true se o método ou qualquer de seus tipos de delimitadoras contêm qualquer parâmetro 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 que representa o resultante construído um método de objeto.

Consulte também

Referência

Genéricos (guia de programação do C#)

Conceitos

Guia de programação do C#

Outros recursos

Reflexão e tipos genéricos

Os genéricos do.NET Framework