On Thursday, 5 March 2020 at 14:46:24 UTC, Steven Schveighoffer wrote:
On 3/5/20 9:24 AM, wjoe wrote:


but how can I call fn in the context of an object instance?

You could do it with delegates. But it's ugly:

import std.stdio;
class C
{
    void foo() { writeln("Yup");}
}
void main()
{
    alias f = C.foo;
    auto c = new C;
    void delegate() dg;
    dg.funcptr = &f;
    dg.ptr = cast(void*)c;
    dg(); // prints "Yup"
}

I don't know of a way to call f with c aside from this.

-Steve

I have an ugly implementation with a one liner mixin and I don't like it. Your solution looks interesting but I think that's more code than my current solution. Thanks for your reply though.

Reply via email to