当前位置:  开发笔记 > Android > 正文

AS3 [Event(name ="",type ="")],有什么意义?

如何解决《AS3[Event(name="",type="")],有什么意义?》经验,为你挑选了2个好方法。

我使用FlashDevelop3 R2和Flex 3.3 SDK进行开发,在很多场合我必须使用嵌入元数据标签:

  [Embed(source="path/to/file")]
  private var Asset:Class;

我理解上面所有这些都很好,我很感谢它的存在,因为我不喜欢经常打开Flash IDE.

当我最近通过其他作者课程时,我发现了一个我不理解的有趣的元数据标签:

[Event(name="", type="")]

我还没有看到我需要这种情况,而且我真的不明白它是什么.

提前感谢您的帮助.

Brian Hodge
blog.hodgedev.com hodgedev.com



1> Philippe..:

这些[Event(name, type)]声明描述了类实例可能分派的事件.

它们实际上对代码完成很有用- 例如,当您键入:时mySprite.addEventListener(,代码编辑器(Flex Builder或FlashDevelop)将显示此对象可以分派的有意义的事件列表.

因此,您可以在代码中添加这些声明,并从更丰富的代码完成中受益.

另请注意,这适用于自定义Event类(请参阅FlashDevelop的新Event类模板).

package mycomp {
    import flash.events.Event;

    public class MyEvent extends Event {
         public const SOME_EVENT:String = "someEvent";
         // required Event type declarations
    }
}

package mycomp {
     [Event(name="someEvent", type="mycomp.MyEvent")]
     public class MyComp extends Sprite {
     }
}

package myproject {
     import mycomp.MyComp;

     public class MyProject {
          function MyProject() {
                var mc:MyComp = new MyComp();
                mc.addEventLister( //completes: SOME_EVENT + Sprite events
          }
     }
}



2> dirkgently..:

我们使用它将自定义事件绑定到我们的自定义MXML组件.此标记允许您从MXML引用它.见文档:

[Event(name="enableChanged", type="flash.events.Event")]

class ModalText extends TextArea { ... }

但是,如果您尝试引用未使用事件metatag声明的mxml标记上的事件,编译器将会抱怨.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有