Type.GetMethod Method (String, BindingFlags)
Searches for the specified method, using the specified binding constraints.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Parameters
- name
- Type: System.String
The string containing the name of the method to get.
- bindingAttr
- Type: System.Reflection.BindingFlags
A bitmask comprised of one or more BindingFlags that specify how the search is conducted.
-or-
Zero, to return null.
Return Value
Type: System.Reflection.MethodInfoAn object representing the method that matches the specified requirements, if found; otherwise, null.
Implements
_Type.GetMethod(String, BindingFlags)IReflect.GetMethod(String, BindingFlags)
| Exception | Condition |
|---|---|
| AmbiguousMatchException | More than one method is found with the specified name and matching the specified binding constraints. |
| ArgumentNullException | name is null. |
The following BindingFlags filter flags can be used to define which methods to include in the search:
You must specify either BindingFlags.Instance or BindingFlags.Static in order to get a return.
Specify BindingFlags.Public to include public methods in the search.
Specify BindingFlags.NonPublic to include non-public methods (that is, private, internal, and protected methods) in the search.
Specify BindingFlags.FlattenHierarchy to include public and protected static members up the hierarchy; private static members in inherited classes are not included.
The following BindingFlags modifier flags can be used to change how the search works:
BindingFlags.IgnoreCase to ignore the case of name.
BindingFlags.DeclaredOnly to search only the methods declared on the Type, not methods that were simply inherited.
See System.Reflection.BindingFlags for more information.
Note |
|---|
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.
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 the method that matches the specified binding flags.
using System; using System.Reflection; class Program { // Method to get: public void MethodA() { } static void Main(string[] args) { // Get MethodA() MethodInfo mInfo = typeof(Program).GetMethod("MethodA", BindingFlags.Public | BindingFlags.Instance); Console.WriteLine("Found method: {0}", mInfo); } }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Note