This documentation is archived and is not being maintained.

OpCodes.Ldftn Field

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

[Visual Basic]
Public Shared ReadOnly Ldftn As OpCode
[C#]
public static readonly OpCode Ldftn;
[C++]
public: static OpCode Ldftn;
[JScript]
public static var Ldftn : OpCode;

Remarks

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

Format Assembly Format Description
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:

  1. The unmanaged pointer to a specific method is pushed onto the stack.

The specific method (method) can be called using the 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 Emit constructor overload can use the ldftn opcode:

  • ILGenerator.Emit(OpCode, MethodInfo)

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

OpCodes Class | OpCodes Members | System.Reflection.Emit Namespace

Show: