Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Expand Minimize

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:
© 2015 Microsoft