Searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention.
[Visual Basic] MustOverride Protected Function GetMethodImpl( _ ByVal name As String, _ ByVal bindingAttr As BindingFlags, _ ByVal binder As Binder, _ ByVal callConvention As CallingConventions, _ ByVal types() As Type, _ ByVal modifiers() As ParameterModifier _ ) As MethodInfo [C#] protected abstract MethodInfo GetMethodImpl( string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers ); [C++] protected: virtual MethodInfo* GetMethodImpl( String* name, BindingFlags bindingAttr, Binder* binder, CallingConventions callConvention, Type* types[], ParameterModifier* modifiers[] ) = 0; [JScript] protected abstract function GetMethodImpl( name : String, bindingAttr : BindingFlags, binder : Binder, callConvention : CallingConventions, types : Type[], modifiers : ParameterModifier[] ) : MethodInfo;
-or-
zero, to conduct a case-sensitive search for public methods.
-or-
a null reference (in Visual Basic Nothing), to use the DefaultBinder.
-or-
An empty array of the type Type (that is, Type[] types = new Type[0]) to get a method that takes no parameters.
A MethodInfo object representing the method that matches the specified requirements, if found; otherwise, a null reference (Nothing).
Exception Type | Condition |
---|---|
AmbiguousMatchException | More than one method is found with the specified name and matching the specified binding constraints. |
ArgumentNullException | name is a null reference (Nothing).
-or- types is a null reference (Nothing). -or- One of the elements in types is a null reference (Nothing). |
SecurityException | The requested method is non-public and the caller does not have ReflectionPermission to reflect non-public members outside the current assembly. |
ArgumentException | types is multidimensional.
-or- modifiers is multidimensional. -or- types and modifiers do not have the same length. (?) |
Abstract. This method must be implemented by a derived class.
The types array and the modifiers array have the same length. A parameter specified in the types array can have the following attributes, which are specified in the modifiers array: pdIn, pdOut, pdLcid, pdRetval, pdOptional, and pdHasDefault, which represent [in], [out], [lcid], [retval], [optional], and a value specifying whether the parameter has a default value. A parameter's associated attributes are stored in the metadata and are used for interoperability.
The following BindingFlags filter flags can be used to define which methods should be included in the search:
The following BindingFlags modifier flags can be used to change how the search works:
See BindingFlags for more information.