Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Type.GetMethod Method (String, Type[])

Searches for the specified public method whose parameters match the specified argument types.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

public MethodInfo GetMethod (
	string name,
	Type[] types
)
public final MethodInfo GetMethod (
	String name, 
	Type[] types
)
public final function GetMethod (
	name : String, 
	types : Type[]
) : MethodInfo

Parameters

name

The String containing the name of the public method to get.

types

An array of Type objects representing the number, order, and type of the parameters for the method to get.

-or-

An empty array of Type objects (as provided by the EmptyTypes field) to get a method that takes no parameters.

Return Value

A MethodInfo object representing the public method whose parameters match the specified argument types, if found; otherwise, a null reference (Nothing in Visual Basic).

Exception typeCondition

AmbiguousMatchException

More than one method is found with the specified name and specified parameters.

ArgumentNullException

name is a null reference (Nothing in Visual Basic).

-or-

types is a null reference (Nothing in Visual Basic).

-or-

One of the elements in types is a null reference (Nothing in Visual Basic).

ArgumentException

types is multidimensional.

The search for name is case-sensitive. The search includes public static and public instance methods.

If the requested type is non-public and the caller does not have ReflectionPermission to reflect non-public objects outside the current assembly, this method returns a null reference (Nothing in Visual Basic).

NoteNote

You cannot omit parameters when looking up constructors and methods. You can only omit parameters when invoking.

If the current T:System.Type represents a constructed generic type, this method returns the MethodInfo with the type parameters replaced by the appropriate type arguments.

If the current Type represents a type parameter in the definition of a generic type or generic method, this method searches the methods of the class constraint, or the methods of Object if there is no class constraint.

NoteNote

The name parameter cannot include type arguments. For example, the C# code GetMethod("MyGenericMethod<int>") searches for a method with the text name "MyGenericMethod<int>", rather than for a method named MyGenericMethod that has one generic argument of type int.

The following example contains a class with an overloaded method. It obtains a Type object corresponding to MyClass1 and calls GetMethod. The method whose parameters match the arguments specified in the type array is returned by the method call.


using System;
using System.Reflection;

public class MyClass1
{
    public void MyMethod(int i)
    {
    }
    public void MyMethod(int i,int j)
    {
    }
}
public class TestMyClass
{
    public static void Main()
    {
        try
        {
            // Get a Type object corresponding to MyClass1.
            Type myClassType = typeof(MyClass1);
            // Create a Type array.
            Type[] typeArray =new Type[1];
            typeArray.SetValue(typeof(int),0);
            // Find the method matching the specified argument types.
            MethodInfo myMethodInfo = 
                myClassType.GetMethod("MyMethod", typeArray);
            Console.WriteLine("The name of the method :" + myMethodInfo);
        }
        catch(Exception e)
        {
            Console.WriteLine(e.Message);
        }
    }
}


import System.*;
import System.Reflection.*;

public class MyClass1
{
    public void MyMethod(int i)
    {
    } //MyMethod

    public void MyMethod(int i, int j)
    {
    } //MyMethod
} //MyClass1

public class TestMyClass
{
    public static void main(String[] args)
    {
        try {
            // Get a Type object corresponding to MyClass1.
            Type myClassType = MyClass1.class.ToType();
            // Create a Type array.
            Type typeArray[] = new Type[1];
            typeArray.SetValue(int.class.ToType(), 0);
            // Find the method matching the specified argument types.
            MethodInfo myMethodInfo =
                myClassType.GetMethod("MyMethod", typeArray);
            Console.WriteLine("The name of the method :" + myMethodInfo);
        }
        catch (System.Exception e) {
            Console.WriteLine(e.get_Message());
        }
    } //main
} //TestMyClass

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

Community Additions

Show:
© 2014 Microsoft