MethodBuilder::SetMethodBody Method
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 nullptr 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 nullptr 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 nullptr if the method has no tokens that have to be modified.
| Exception | Condition |
|---|---|
| ArgumentNullException | il is nullptr. |
| 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. |
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.