vendredi 30 octobre 2015

[haxe]: Is there more neat design for requesting static fields in class successors?

I'm implementing network controller that sends requests to the server with integer command type id and binary serialized block of other command data. Prototype of all commands looks like:

class NetCommand {

    public static var typeId; // type must be set in successors!

    function new() {
    }

    public function typeGet():Int {
        return Reflect.field(Type.getClass(this), "typeId");
    }

}

All this mess in typeGet() function done just for access to the static variables with type ids of all successors. I can't simply write

return typeId;

because statics are not inheritable and this method will return 0 as a value of prototype's variable. Is there any neat solution? Is my solution cross-platform?





Aucun commentaire:

Enregistrer un commentaire