On Wednesday, 6 April 2016 at 13:59:42 UTC, pineapple wrote:
Is there any way in D to define static methods or members within an enum's scope, as one might do in Java? It can sometimes help with code organization. For example, this is something that coming from Java I'd have expected to be valid but isn't:

enum SomeEnum{
    NORTH, SOUTH, EAST, WEST;

    static int examplestaticmethod(in int x){
        return x + 2;
    }
}

int z = SomeEnum.examplestaticmethod(2);

You can use UFCS:

enum SomeEnum { NORTH, ... }

int examplestaticmethod(in SomeEnum e) { return e+2; }

SomeEnum.NORTH.examplestaticmethod();

Reply via email to