Type.GetMethod Method (String)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Searches for the public method with the specified name.

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

abstract GetMethod : 
        name:string -> MethodInfo
override GetMethod : 
        name:string -> MethodInfo


Type: System.String

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

Return Value

Type: System.Reflection.MethodInfo

An object that represents the public method with the specified name, if found; otherwise, null.

Exception Condition

More than one method is found with the specified name.


name is null.

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

If a method is overloaded and has more than one public method, the GetMethod(String) method throws an AmbiguousMatchException exception. In the following example, an exception is thrown because there is more than one public overload of the Int32.ToString method. On the other hand, because the Person.ToString method overrides Object.ToString and therefore is not overloaded, the GetMethod(String) method is able to retrieve the MethodInfo object.

No code example is currently available or this language may not be supported.

You can do one of the following to retrieve a specific method:

  • Call the GetMethod(String, BindingFlags) method and specify a bindingAttr argument that uniquely identifies the method. For example, if the exception is thrown because a type has a static and an instance overload, you can specify a bindingAttr argument of BindingFlags.Instance Or BindingFlags.Instance.

  • Call an overload of the GetMethod method that includes a types parameter which defines the types of the method's parameters.

  • Call the GetMethods() method to retrieve an array containing all of the public methods belonging to a type. You can then iterate it to identify the duplicate methods named name.

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.


For generic methods, do not include the type arguments in name. For example, the C# code GetMember("MyMethod<int>") searches for a member with the text name "MyMethod<int>", rather than for a method named MyMethod that has one generic argument of type int.

The following example gets a method named MethodA.

No code example is currently available or this language may not be supported.

.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top