MethodBuilder::SetMethodBody Method (array<Byte>^, Int32, array<Byte>^, IEnumerable<ExceptionHandler>^, IEnumerable<Int32>^)
Creates the body of the method by using a specified byte array of Microsoft intermediate language (MSIL) instructions.
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. |
Available since 4.5