Portable way to obtain member function pointer (and invoke it)?

Benjamin Thaut code at benjamin-thaut.de
Sun Jul 8 13:03:32 PDT 2012


Am 08.07.2012 21:57, schrieb Alex Rønne Petersen:
> Hi,
>
> Is there a portable way to obtain a pointer to a member function and
> invoke it with the this reference? I seem to recall some discussion
> about this on the NG in the past, but can't find the thread now.
>

If you know both at compile time:

auto func = &object.func;

This will create a delegate with the this pointer and the function 
pointer. If you want to build it manually you can do that also:

alias void delegate() func_t;

func_t func;
func.funcptr = GetFunctionPointer();
func.ptr = object;

Kind Regards
Benjamin Thaut



More information about the Digitalmars-d-learn mailing list