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 field MethodAttributes Attributes{get; } // overrides System.Reflection.MethodBase public override field CallingConventions CallingConvention{get; } // ...
Get C# in a Nutshell 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.