Name
MethodBuilder
Synopsis
This class represents a dynamically
created method. Methods
are created with TypeBuilder.DefineMethod( )
. When
creating a method, specify the name, parameters, and return type. You
can also specify other characteristics of the method, such as whether
it is static, abstract, or virtual, by using the
System.Reflection.MethodAttributes
enumeration.
After creating a method, you can specify how the return value will be
marshaled to unmanaged code using SetMarshal( )
,
and add declarative security using AddDeclarativeSecurity( )
. You must specify the security action (such as Demand,
Assert, Deny) using the
System.Security.Permissions.SecurityAction
enumeration and the permissions required using the
System.Security.PermissionSet
collection class.
You can call AddDeclarativeSecurity( )
several
times to specify different security actions.
To create a global method builder, use
ModuleBuilder.DefineGlobalMethod( )
. You must also
use ModuleBuilder.CreateGlobalFunctions( )
to
finish creating global methods before you persist or use the dynamic
module. Global methods must be static. You can also create a global
native method using ModuleBuilder.DefinePInvokeMethod( )
. PInvoke
methods cannot be abstract or
virtual.
public sealed class MethodBuilder : System.Reflection.MethodInfo { // Public Instance Properties public override MethodAttributes Attributes{get; } // overrides System.Reflection.MethodBase public override CallingConventions CallingConvention{get; } // overrides ...
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.