MethodBuilder.SetMethodBody Method (Byte[], Int32, 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( byte[] il, int maxStack, byte[] localSignature, IEnumerable<ExceptionHandler> exceptionHandlers, IEnumerable<int> tokenFixups )
Parameters
- il
-
Type:
System.Byte[]
An array that contains valid MSIL instructions.
- maxStack
-
Type:
System.Int32
The maximum stack evaluation depth.
- localSignature
-
Type:
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