jay*_*rjo 1 events actionscript-3
我想在我的类中声明一组由它调度的事件,然后使用来自控制器类的这些信息来自动添加事件监听器.Action Script 3中是否有这种语言结构?您可能会想到这样的方法 - 好,坏?
您可以[Event]为您的班级使用元标记以及describeType()方法.
package
{
import flash.display.Sprite;
import flash.utils.describeType;
[Event(name="test",type="TestEvent")]
public class Test extends Sprite
{
public function Test()
{
var description:XML = describeType(this);
var meta:XMLList = description.descendants("metadata");
var events:XMLList = meta.(attribute("name") == "Event");
trace(events.toXMLString());
/*
trace output:
<metadata name="Event">
<arg key="name" value="test"/>
<arg key="type" value="TestEvent"/>
</metadata>
*/
}
}
}
Run Code Online (Sandbox Code Playgroud)
元标记:http://livedocs.adobe.com/flex/3/html/help.html?content= metadata_3.html# 159710
describeType():http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/utils/package.html#describeType%28%29
顺便说一句,如果您声明这样的自定义事件,您还将在Flash Builder中获得适当的代码提示.