Pushes an unmanaged pointer (type
natural int) to the native code implementing a specific method onto the evaluation stack.
Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)

Syntax
Visual Basic (Declaration)
Public Shared ReadOnly Ldftn As OpCode
Dim value As OpCode
value = OpCodes.Ldftn
public static readonly OpCode Ldftn
public:
static initonly OpCode Ldftn
public static final OpCode Ldftn
public static final 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:
-
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 method overload can use the ldftn opcode:

Platforms
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

Version Information
.NET Framework
Supported in: 2.0, 1.1, 1.0

See Also