Compartilhar via


MethodBase.GetGenericArguments Método

Definição

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

public:
 virtual cli::array <Type ^> ^ GetGenericArguments();
public virtual Type[] GetGenericArguments ();
[System.Runtime.InteropServices.ComVisible(true)]
public virtual Type[] GetGenericArguments ();
abstract member GetGenericArguments : unit -> Type[]
override this.GetGenericArguments : unit -> Type[]
[<System.Runtime.InteropServices.ComVisible(true)>]
abstract member GetGenericArguments : unit -> Type[]
override this.GetGenericArguments : unit -> Type[]
Public Overridable Function GetGenericArguments () As Type()

Retornos

Type[]

Uma matriz de objetos Type que representam os argumentos de tipo de um método genérico ou os parâmetros de tipo de uma definição de método genérico. Retornará uma matriz vazia se o método atual não for um método genérico.

Atributos

Exceções

O objeto atual é um ConstructorInfo. Não há suporte para construtores genéricos no .NET Framework versão 2.0. Essa exceção será o comportamento padrão se esse método não for substituído em uma classe derivada.

Comentários

Os elementos da matriz retornada estão na ordem em que aparecem na lista de parâmetros de tipo para o método genérico.

  • Se o método atual for um método construído fechado (ou seja, a ContainsGenericParameters propriedade retorna false), a matriz retornada pelo GetGenericArguments método contém os tipos que foram atribuídos aos parâmetros de tipo genérico da definição de método genérico.

  • Se o método atual for uma definição de método genérico, a matriz conterá os parâmetros de tipo.

  • Se o método atual for um método construído aberto (ou seja, a ContainsGenericParameters propriedade retornará true) no qual tipos específicos foram atribuídos a alguns parâmetros de tipo e parâmetros de tipo de tipos genéricos delimitados foram atribuídos a outros parâmetros de tipo, a matriz conterá tipos e parâmetros de tipo. Use a IsGenericParameter propriedade para diferenciá-los. Para obter uma demonstração desse cenário, consulte o exemplo de código fornecido para a ContainsGenericParameters propriedade .

Não há suporte para construtores genéricos no .NET Framework versão 2.0. Essa propriedade gerará NotSupportedException se não for substituída em uma classe derivada, portanto, uma exceção será gerada se a instância atual for do tipo ConstructorInfo.

Para obter uma lista das condições invariáveis para termos específicos aos métodos genéricos, consulte a IsGenericMethod propriedade . Para obter uma lista das condições invariáveis para outros termos usados na reflexão genérica, consulte a Type.IsGenericType propriedade .

Aplica-se a

Confira também