Name

MethodBase

Synopsis

This is an abstract base class representing executable method calls, which fall into two categories: regular methods and constructors. GetCurrentMethod( ) and GetMethodFromHandle( ) are static methods that return the currently executing method and a method represented by a System.RuntimeMethodHandle object, respectively. The MethodHandle returns the handle for a specific method instance.

The properties prefixed by Is return boolean values, allowing inspection of the modifiers of the reflected method. Only some require explanation: IsAssembly returns true if the method is internal, and IsFamily returns true for protected methods. If a member of exactly the same name and signature is hidden by a derived class, IsHideBySig is true. IsSpecialName indicates whether this method has a special name, such as a property accessor, get_PropertyName or set_PropertyName.

Similarly, the attributes on a given method can be inspected from the Attributes property. GetParameters( ) returns the parameters of a method or constructor, and GetMethodImplementationFlags( ) returns the MethodImplAttributes flags set on the method.

In addition to introspecting on a method, the MethodBase also allows for reflective invocation of a method, using the Invoke( ) method. Note that Invoke( ) requires both the object instance against which to invoke the method (or null if the method is declared static), as well as an array of object references containing the arguments to the method, in their ...

Get C# in a Nutshell, Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.