gpt4 book ai didi

apache-flex - 弹性/ ActionScript : Dynamically accessing static var

转载 作者:行者123 更新时间:2023-12-04 19:32:12 24 4
gpt4 key购买 nike

假设我有一个 Foo 类:

public class Foo
{

public static var bar:String = "test";

}

如何在运行时使用字符串“Foo”或/和以及 Foo 的实例和字符串“bar”来引用 bar?

var x:Object = new Foo();
...
x["bar"]

...不起作用,IntelliJ 中的 Debug模式得到了我的希望,因为 bar 被列为属性。

更新:

请注意,在“行动点”,我对编译时的 foo 一无所知。我需要通过字符串“Foo”和“bar”解析 Foo.bar。

换句话说,由于 flex 没有 eval,我怎样才能完成与 eval("Foo.bar") 相同的操作?

最佳答案

它是一个静态变量,因此您无法使用 foo 的实例 访问它;它是静态访问的,使用 ClassName.variableName 表示法,如下所示:

跟踪(Foo.bar);

//产量:“测试”

同样,因为您已将 Foo 和 bar 都声明为公共(public)的,所以您应该能够从应用程序的任何位置以这种方式访问​​ Foo.bar。


更新:啊,我明白你在问什么了。您可以使用 flash.utils.Summary.getDefinitionByName():

// Either this way
trace(getDefinitionByName("Foo").bar);

// Or this
trace(getDefinitionByName("Foo")["bar"]);

...后者感谢 Jeremy 的回答,这对我来说是新的。 :)

关于apache-flex - 弹性/ ActionScript : Dynamically accessing static var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/458719/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com