MethodBuilder::SetMethodBody Method (array<Byte>^, Int32, array<Byte>^, IEnumerable<ExceptionHandler>^, IEnumerable<Int32>^)

.NET Framework (current version)
 

Creates the body of the method by using a specified byte array of Microsoft intermediate language (MSIL) instructions.

Namespace:   System.Reflection.Emit
Assembly:  mscorlib (in mscorlib.dll)

public:
void SetMethodBody(
	array<unsigned char>^ il,
	int maxStack,
	array<unsigned char>^ localSignature,
	IEnumerable<ExceptionHandler>^ exceptionHandlers,
	IEnumerable<int>^ tokenFixups
)

Parameters

il
Type: array<System::Byte>^

An array that contains valid MSIL instructions.

maxStack
Type: System::Int32

The maximum stack evaluation depth.

localSignature
Type: array<System::Byte>^

An array of bytes that contain the serialized local variable structure. Specify null if the method has no local variables.

exceptionHandlers
Type: System.Collections.Generic::IEnumerable<ExceptionHandler>^

A collection that contains the exception handlers for the method. Specify null if the method has no exception handlers.

tokenFixups
Type: System.Collections.Generic::IEnumerable<Int32>^

A collection of values that represent offsets in il, each of which specifies the beginning of a token that may be modified. Specify null if the method has no tokens that have to be modified.

Exception Condition
ArgumentNullException

il is null.

ArgumentOutOfRangeException

maxStack is negative.

-or-

One of exceptionHandlers specifies an offset outside of il.

-or-

One of tokenFixups specifies an offset that is outside the il array.

InvalidOperationException

The containing type was previously created using the TypeBuilder::CreateType method.

-or-

This method was called previously on this MethodBuilder object.

.NET Framework
Available since 4.5
Return to top
Show: