Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Método Type.GetMethod (String, Type[])

Procura pelo método público especificado cujos parâmetros correspondem ao argumento tipo especificado.

Namespace:  System
Assembly:  mscorlib (em mscorlib.dll)
public MethodInfo GetMethod(
	string name,
	Type[] types
)

Parâmetros

name
Tipo: System.String
A cadeia de caracteres que contém o nome do método público para obter.
types
Tipo: System.Type[]
Uma matriz de Type objetos representando o número, a ordem, e o tipo dos parâmetros para o método obtém.
-  ou  -
Uma matriz vazia de Type objetos (de maneira esperada pelo campo de EmptyTypes ) para obter um método que não leva nenhum parâmetro.

Valor de retorno

Tipo: System.Reflection.MethodInfo
Um objeto que representa o método público cujos parâmetros correspondem ao argumento especificado digita, se encontrado; caso contrário, null.

Implementações

_Type.GetMethod(String, Type[])
ExceçãoCondição
AmbiguousMatchException

Mais de um método é encontrado com o nome especificado e parâmetros especificados.

ArgumentNullException

name é null.

-  ou  -

types é null.

-  ou  -

Um dos elementos em types é null.

ArgumentException

types é multidimensional.

A pesquisa para name diferencia maiúsculas de minúsculas. A pesquisa inclui os métodos estáticos pública e métodos públicos da instância.

ObservaçãoObservação

Você não pode omitir os parâmetros para pesquisar construtores e métodos. Você pode omitir os parâmetros somente ao chamar.

Se o atual T: System.Type representa um tipo genérico construído, este método retornará MethodInfo com os parâmetros de tipo substituídos pelos argumentos apropriados do tipo.

Se Type atual representa um parâmetro de tipo na definição de um tipo genérico ou de um método genérico, pesquisas de esse método métodos de restrição de classe, ou os métodos de Object se não houver nenhuma restrição de classe.

ObservaçãoObservação

O parâmetro de name não pode incluir argumentos de tipo. Por exemplo, o código GetMethod("MyGenericMethod<int>") C# procura por um método com o nome “MyGenericMethod<int>” de texto, em vez de um método chamado MyGenericMethod que tem um argumento de tipo genérico int. Em vez de isso, use GetMethod("MyGenericMethod") com o parâmetro apropriado na matriz de types .

O seguinte exemplo localiza as sobrecargas específicas de MethodA, especificando uma variedade de tipos de argumento.

ObservaçãoObservação

O exemplo de Visual C# 2005 requer a opção de compilador /unsafe .



using System;
using System.Reflection;

class Program
{
    // Methods to get:

    public void MethodA(int i, int j) { }

    public void MethodA(int[] i) { }

    public unsafe void MethodA(int* i) { }

    public void MethodA(ref int r) {}

    // Method that takes an out parameter:
    public void MethodA(int i, out int o) { o = 100;}


  static void Main(string[] args)
  {
    MethodInfo mInfo;

    // Get MethodA(int i, int i)
    mInfo = typeof(Program).GetMethod("MethodA",
        new Type[] { typeof(int), typeof(int) });
    Console.WriteLine("Found method: {0}", mInfo);

    // Get MethodA(int[] i)
    mInfo = typeof(Program).GetMethod("MethodA",
        new Type[] { typeof(int[]) });
    Console.WriteLine("Found method: {0}", mInfo);

    // Get MethodA(int* i)
    mInfo = typeof(Program).GetMethod("MethodA",
        new Type[] { typeof(int).MakePointerType() });
    Console.WriteLine("Found method: {0}", mInfo);

    // Get MethodA(ref int r)
    mInfo = typeof(Program).GetMethod("MethodA",
        new Type[] { typeof(int).MakeByRefType() });
    Console.WriteLine("Found method: {0}", mInfo);

    // Get MethodA(int i, out int o)
    mInfo = typeof(Program).GetMethod("MethodA",
        new Type[] { typeof(int), typeof(int).MakeByRefType() });
    Console.WriteLine("Found method: {0}", mInfo);

  }
}


.NET Framework

Com suporte em: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Biblioteca de Classes Portátil

Com suporte em: Biblioteca de Classes Portátil

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte .Requisitos de sistema do NET Framework.
Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
© 2013 Microsoft. Todos os direitos reservados.