MethodBase.GetGenericArguments Método

Definição

Devolve um array de Type objetos 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()

Devoluções

Type[]

Um array de Type objetos 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. Devolve um array vazio se o método atual não for genérico.

Atributos

Exceções

O objeto atual é um ConstructorInfo. Construtores genéricos não são suportados na versão 2.0 do .NET Framework. Esta exceção é o comportamento padrão se este método não for sobreposto numa classe derivada.

Observações

Os elementos do array devolvido 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 (isto é, a ContainsGenericParameters propriedade devolve false), o array devolvido pelo GetGenericArguments método contém os tipos que foram atribuídos aos parâmetros genéricos de tipo da definição genérica do método.

  • Se o método atual for uma definição genérica de método, o array contém os parâmetros de tipo.

  • Se o método atual for um método construído aberto (isto é, a ContainsGenericParameters propriedade devolve true) em que tipos específicos foram atribuídos a alguns parâmetros de tipo e parâmetros de tipo que encerram tipos genéricos foram atribuídos a outros parâmetros de tipo, o array contém tanto tipos como parâmetros de tipo. Usa a IsGenericParameter propriedade para os distinguir. Para uma demonstração deste cenário, consulte o exemplo de código fornecido para a ContainsGenericParameters propriedade.

Construtores genéricos não são suportados na versão 2.0 do .NET Framework. Esta propriedade lança NotSupportedException se não for sobreposta numa classe derivada, pelo que uma exceção é lançada se a instância atual for do tipo ConstructorInfo.

Para uma lista das condições invariantes para termos específicos de métodos genéricos, veja a IsGenericMethod propriedade. Para uma lista das condições invariantes para outros termos usados na reflexão genérica, veja a Type.IsGenericType propriedade.

Aplica-se a

Ver também