Actionscript 3 使用自定义事件和“调用dispatchEvent时类型强制失败”;这";

Actionscript 3 使用自定义事件和“调用dispatchEvent时类型强制失败”;这";,actionscript-3,apache-flex,flex4,Actionscript 3,Apache Flex,Flex4,我得到以下错误 TypeError: Error #1034: Type Coercion failed: cannot convert EmergencyItems::EmergencyEvent@c607bb1 to EmergencyItems.EmergencyItem. at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at

我得到以下错误

TypeError: Error #1034: Type Coercion failed: cannot convert EmergencyItems::EmergencyEvent@c607bb1 to EmergencyItems.EmergencyItem.
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at EmergencyItems::EmergencyItem/request()[\EmergencyItems\EmergencyItem.as:64]
紧急事件

public class EmergencyEvent extends Event {

    public static const EVENT_REQUEST:String = "requestingr";


    public var item:EmergencyItem;

    public function EmergencyEvent(type:String, item:EmergencyItem, bubbles:Boolean=false, cancelable:Boolean=false) {
        super(type, bubbles, cancelable);
        this.item = item;
    }

    override public function clone():Event {
        return new EmergencyEvent(type, item);
    }
}
EmergencyItem.as(第64行以“dispatchEvent…”开头)

我已经四处寻找了很长一段时间,但我找不到问题(或解决方案)。我想可能是“this”以某种方式引用了EmergencyEvent而不是EmergencyItem,所以我修改了EmergencyItem.as

public function request():void {
        var self:EmergencyItem = this;
        var eEvent:EmergencyEvent = new EmergencyEvent(EmergencyEvent.EVENT_REQUEST, self);
        dispatchEvent(eEvent);
    }
我还是犯了同样的错误


已解决,添加事件侦听器时使用了错误的函数,复制粘贴错误。问题出在侦听器函数上。参数类型必须是
EmergencyEvent
而不是
EmergencyItem

抛出错误的行是什么?EmergencyItem类的第64行是什么?以dispatchEvent@JackFlapper此事件的侦听器代码是什么?您确定参数是一个EmerygencyEvent吗?@fmodos这就是问题所在,谢谢you@JackFlapper我将发布一个关于它的答案,所以它将有助于其他人谁面临同样的问题
public function request():void {
        var self:EmergencyItem = this;
        var eEvent:EmergencyEvent = new EmergencyEvent(EmergencyEvent.EVENT_REQUEST, self);
        dispatchEvent(eEvent);
    }