gpt4 book ai didi

actionscript-3 - AS3 遍历类变量

转载 作者:行者123 更新时间:2023-12-02 05:24:29 31 4
gpt4 key购买 nike

如何遍历类实例的所有变量?它似乎适用于常规对象...

已编辑:这就可以了 =)

var test:anyClass=new anyClass();
var someObject:Object={val1:"object string",val2:111,val3:new Date()};
var xmlList:XMLList=describeType(anyClass)..variable;
for each(var key:* in someObject)
trace(String(key));
for each(var item:XML in xmlList)
trace(String(test[item.@name]));

输出:对象字符串1112012 年 11 月 8 日星期四 11:19:27 GMT-0700类字符串2222012 年 11 月 8 日星期四 11:19:27 GMT-0700

public class anyClass
{
public var val1:String="class string";
public var val2:int=222;
public var val3:Date=new Date();
}

最佳答案

我认为最简单的方法是使用 flash.utils.describeType()

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/package.html#describeType ()

这会返回一个 XML 文档,描述一个类的所有细节,然后您可以使用普通的 E4X 对其进行攻击。这是我测试过的示例:

import flash.display.Sprite;
import flash.utils.describeType;

var test:String = "TEST";

function DescribeTypeExample():void {
var child:Sprite = new Sprite();
var description:XML = describeType(this);
var variables:XMLList = description..variable;
for each(var variable:XML in variables) {
trace("VARIABLE: " + variable.@name);
trace("VALUE: " + this[variable.@name]);
}
}

this.DescribeTypeExample();

// Output:

// VARIABLE: test
// VALUE: TEST

关于actionscript-3 - AS3 遍历类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13294997/

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