¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
GetMethod (Método) (String, Type[])
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

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

Busca el método público especificado cuyos parámetros coincidan con los tipos de argumentos especificados.

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)

public MethodInfo GetMethod(
	string name,
	Type[] types
)

Parámetros

name
Tipo: System.String
Cadena que contiene el nombre del método público que se va a obtener.
types
Tipo: System.Type[]
Matriz de objetos Type que representa el número, el orden y el tipo de parámetros que el método debe obtener.
O bien
Una matriz vacía de objetos Type (proporcionados por el campo EmptyTypes) para obtener un método que no requiera parámetros.

Valor devuelto

Tipo: System.Reflection.MethodInfo
Objeto que representa el método público cuyos parámetros coinciden con los tipos de argumentos especificados, si se encuentra; en caso contrario, es null.

Implementaciones

_Type.GetMethod(String, Type[])

ExcepciónCondición
AmbiguousMatchException

Hay varios métodos con el nombre y los parámetros especificados.

ArgumentNullException

name es null.

O bien

types es null.

O bien

Uno de los elementos de types es null.

ArgumentException

types es multidimensional.

La búsqueda de name distingue entre mayúsculas y minúsculas. La búsqueda incluye métodos estáticos públicos y métodos de instancia pública.

NotaNota

No se pueden omitir parámetros cuando se consultan constructores y métodos. Solo se pueden omitir parámetros al realizar llamadas.

Si el objeto T:System.Type actual representa un tipo genérico construido, este método devuelve el objeto MethodInfo con los parámetros de tipo sustituidos por los argumentos de tipo adecuados.

Si el objeto Type actual representa un parámetro de tipo en la definición de un tipo genérico o de un método genérico, este método busca los métodos de la restricción de clase o los de Object si dicha restricción de clase no existe.

NotaNota

El parámetro name no puede incluir argumentos de tipo. Por ejemplo, el código de C# GetMethod("MyGenericMethod<int>") busca un método con el nombre de texto "MyGenericMethod<int>", en lugar de un método denominado MyGenericMethod que tiene un argumento genérico de tipo int. En su lugar, utilice GetMethod("MyGenericMethod") con el parámetro adecuado en la matriz types.

En el ejemplo siguiente se buscan sobrecargas concretas de MethodA, especificando diversos tipos de argumento.

NotaNota

El ejemplo Visual C# 2005 requiere la opción 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

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft