gpt4 book ai didi

actionscript-3 - 理解 dispatchEvent(evt.clone())

转载 作者:行者123 更新时间:2023-12-02 04:55:54 26 4
gpt4 key购买 nike

我是 ActionScript 的新手,正在尝试理解现有代码。这里有 MyRestServiceEvent 和 MyRestService。 MyRestService 类中定义了很多方法来发送许多事件,但有些方法实现了我无法理解的 dispatchEvent(evt.clone());。我知道 MyRestServiceEvent 已经实现了 clone(),那么这个 dispatchEvent(evt.clone()); 做了什么?如果有人能向我解释这个过程,我将不胜感激。

下面是这两个类的一些快照。

the event class

        public function MyRestServiceEvent(type:String, request:MyRestRequest, result:* = null, bubbles:Boolean=false, cancelable:Boolean=false)
{
super(type, bubbles, cancelable);

this.result = result;
this.request = request;
}

/**
* Override clone to support re-dispatching
*/
override public function clone():Event
{
return new MyRestServiceEvent(type, this.request, this.result, bubbles, cancelable);
}
}
}

the event dispatcher class

public class MyRestService extends EventDispatcher
{

// ton of methods here but below is an example of one of the functions

private function checkAdminErrorHandler(evt:MyRestServiceEvent):void
{
dispatchEvent(evt.clone());
}
}

最佳答案

clone() 方法创建 Event 对象的副本实例。它通过创建类的新实例并将其属性设置为与原始实例相同的值来实现。自定义事件可以覆盖此方法以正确处理引用类型的复制。

当要重新调度事件时需要克隆,以便可以将其只读属性(气泡、可取消、currentTarget、target)再次设置为新值。

关于actionscript-3 - 理解 dispatchEvent(evt.clone()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17985834/

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