繁体   English   中英

如何在AS3或JavaScript中访问类的静态成员的名称

[英]How can I access the name of static member of a class in AS3 or JavaScript

我有以下课程,我想做的是注释,我知道我可以使用条件语句。 我想知道是否有办法做到这一点。

这段代码在AS3中,但是我知道这可能与javascript有关,因为AS3基于ECMAScript

public class ClientStatus 
{
    public static const INVITED:int = 0;
    public static const VIP:int = 1;
    public static const MASTER:int = 2;
    public static const GRAND_MASTER:int = 3;
    public static const IMORTAL:int = 4;
    public static const GOD:int = 5;

    public static function getName(status:int):String
    {
        // to get the name related to int value
        // ex: if status equals to 3 return "GRAND_MASTER"
    }
}

最简单的方法是拥有状态字符串数组:将索引号传递给方法,然后获取状态字符串。 其他有用的结构可能是对象和字典。

使用describeType您可以获取ClientStatus中所有常量的名称。 然后,您可以遍历该列表并构建字典,如下所示:

// might have some errors, doing it from my head

private var dic:Dictionary = new Dictionary();

...

var desc:??? = describeType(ClientStatus);
...
for each (var constName:String in constNames) {
    dic[ClientStatus[constName]] = constName;
}

...

public static function getName(status:int):String {
        return dic[status];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM