Type::GetMethod Method (String^)
Searches for the public method with the specified name.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- name
-
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.
Implements
_Type::GetMethod(String^)| Exception | Condition |
|---|---|
| AmbiguousMatchException | More than one method is found with the specified name. |
| ArgumentNullException | 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.
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.
Note |
|---|
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.
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
