Pushes an unmanaged pointer (type native int) to the native code implementing a specific method onto the evaluation stack.
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)