如何列出类中定义的所有 const 属性

发布于 2024-09-26 11:18:01 字数 514 浏览 4 评论 0原文

我如何列出类中定义的公共(和私有/受保护)常量的所有名称(和值)?

public class Layers {

    public const BACKGROUND:String = "background";
    public const PARENT:String = "parent";
    public const MAP:String = "map";
    public const LINES:String = "lines";
    public const POINTS:String = "points";
    public const WINDOWS:String = "windows";

    ... 

    public function isValidValue(type:String) {
        // ...           
        // if type is a value of a constant return TRUE
        // ...
    }

}

How can i list all the names (and values) of public (and private / protected) const defined in a class ?

public class Layers {

    public const BACKGROUND:String = "background";
    public const PARENT:String = "parent";
    public const MAP:String = "map";
    public const LINES:String = "lines";
    public const POINTS:String = "points";
    public const WINDOWS:String = "windows";

    ... 

    public function isValidValue(type:String) {
        // ...           
        // if type is a value of a constant return TRUE
        // ...
    }

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

木槿暧夏七纪年 2024-10-03 11:18:01

这适用于 as3 和 flex 4.5.1

public static function isValidValue(type:String):Boolean {

        var m_constNameList:XMLList = describeType(Layers).descendants("constant");

        for each(var obj:Object in m_constNameList){
            if (type == Layers[obj.@name]){
                return true;
            }
        }
        return false;
    }

This works with as3 and flex 4.5.1

public static function isValidValue(type:String):Boolean {

        var m_constNameList:XMLList = describeType(Layers).descendants("constant");

        for each(var obj:Object in m_constNameList){
            if (type == Layers[obj.@name]){
                return true;
            }
        }
        return false;
    }
泼猴你往哪里跑 2024-10-03 11:18:01

在运行时,您可以使用describeType()列出所有公共变量(不太确定常量),以及更多信息。

http://www.adobe.com/livedocs /flash/9.0/ActionScriptLangRefV3/flash/utils/package.html#describeType()

私有更难获取。

不确定创建常量数组然后使用 array.indexOf(type) 是否会更快

PS 我也相信现在某个地方有一个 JSON 版本的describeType()。

At runtime, you can use describeType() to list all the public vars (not too sure about consts), and a whole lot more info too.

http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/utils/package.html#describeType()

Privates are more tricky to get.

Not sure if it wouldn't be quicker to create an array of the constants and then use array.indexOf(type)

P.S. I also believe there is a JSON version of describeType() now, somewhere.

笑红尘 2024-10-03 11:18:01

FlashBuilder 自动完成将为您提供类中的所有常量以及更多信息。

http://www.adobe.com/products/flashbuilder/

FlashBuilder autocompletion will give you all the constant on your class and much more.

http://www.adobe.com/products/flashbuilder/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文