System.Reflection.Emit.OpCodes.Ldftn Field

Pushes an unmanaged pointer (type native int) to the native code implementing a specific method onto the evaluation stack.

Syntax

public static readonly OpCode Ldftn

Remarks

The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

FE 06 < T >

ldftn method

Pushes a pointer to a method referenced by method on the stack.

The stack transitional behavior, in sequential order, is:

[The 'ordered' type of list has not been implemented in the ECMA stylesheet.]

The specific method (method) can be called using the OpCodes.Calli instruction if it references a managed method (or a stub that transitions from managed to unmanaged code).

The value returned points to native code using the calling convention specified by the method metadata token. Thus, a method pointer can be easily passed to unmanaged native code (specifically, as a callback routine).

The following ILGenerator.Emit(OpCode) method overload can use the ldftn opcode:

  • ILGenerator.Emit(OpCode, MethodInfo)

Requirements

Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0, 4.0.0.0